Skip to main content
GET
/
subscriptions
/
{id}
/
preview-swap
Preview Subscription Swap
curl --request GET \
  --url https://api.blink.store/v1/subscriptions/{id}/preview-swap \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.blink.store/v1/subscriptions/{id}/preview-swap"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.blink.store/v1/subscriptions/{id}/preview-swap', 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://api.blink.store/v1/subscriptions/{id}/preview-swap",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.blink.store/v1/subscriptions/{id}/preview-swap"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.blink.store/v1/subscriptions/{id}/preview-swap")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.blink.store/v1/subscriptions/{id}/preview-swap")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "data": {
    "amount_due": 123,
    "subtotal": 123,
    "currency": "<string>",
    "prorations": [
      {
        "id": "<string>",
        "amount": 123,
        "description": "<string>",
        "period": {}
      }
    ]
  }
}
Calculates the prorated cost of swapping an active subscription to a new product or variant. This endpoint generates an upcoming invoice preview from Stripe, allowing you to show the customer exactly how much they will be charged or credited before they confirm the upgrade or downgrade.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

The ID of the subscription

Query Parameters

variant_id
string

The target variant ID for the swap.

product_id
string

The target product ID for the swap.

Response

200 - application/json

Successfully calculated proration

data
object