Legacy (v0)
Get the autoship profile of a subscription
The Subscription Pro autoship profile the subscription belongs to, or the shipping-together unit it bills in when its members differ on payment method, cadence or timezone. Null when the subscription renews on its own, is cancelled, or has no owner. Requires the subscriptions view permission and an admin, and the autoship_profiles feature to work for the company: Subscription Pro active, the release flag on, the merchant setting on and subscription bundling on. Responses are not cached.
GET
/
api
/
subscriptions
/
{token}
/
profile
Get the autoship profile of a subscription
curl --request GET \
--url https://api.fluid.app/api/subscriptions/{token}/profile \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/subscriptions/{token}/profile"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/subscriptions/{token}/profile', 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.fluid.app/api/subscriptions/{token}/profile",
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.fluid.app/api/subscriptions/{token}/profile"
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.fluid.app/api/subscriptions/{token}/profile")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/subscriptions/{token}/profile")
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{
"profile_group": {
"kind": "shipping_together",
"differences": [
"payment_method"
],
"next_bill_date": "2026-11-03",
"address": {
"id": 48213,
"name": "Dana Whitfield",
"address1": "12 Main St",
"address2": null,
"address3": null,
"city": "Salt Lake City",
"state": "UT",
"subdivision_code": "UT",
"postal_code": "84101",
"country_code": "US",
"phone": "+18015550147",
"country_num_code": 840,
"default": true
},
"members": [
{
"subscription_token": "sb_8f2c1d9e7a",
"label": "Daily Greens",
"variant_title": "30 servings",
"status": "active",
"quantity": 1,
"billing_interval": 1,
"billing_interval_unit": "month",
"timezone": "America/Denver",
"payment_method": {
"id": 77120,
"source": "card",
"card_brand": "Visa",
"last_four": "4242"
}
},
{
"subscription_token": "sb_3b7e0a41c6",
"label": "Collagen Peptides",
"variant_title": "Unflavored",
"status": "paused",
"quantity": 2,
"billing_interval": 1,
"billing_interval_unit": "month",
"timezone": "America/Denver",
"payment_method": {
"id": 77388,
"source": "card",
"card_brand": "American Express",
"last_four": "1005"
}
}
]
},
"meta": {
"request_id": "3e8b1f2a-6c4d-4a7e-9b10-2d5f8c3a1e67",
"timestamp": "2026-10-11T09:13:02Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}Authorizations
Bearer token authentication
Path Parameters
⌘I
Get the autoship profile of a subscription
curl --request GET \
--url https://api.fluid.app/api/subscriptions/{token}/profile \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/subscriptions/{token}/profile"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/subscriptions/{token}/profile', 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.fluid.app/api/subscriptions/{token}/profile",
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.fluid.app/api/subscriptions/{token}/profile"
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.fluid.app/api/subscriptions/{token}/profile")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/subscriptions/{token}/profile")
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{
"profile_group": {
"kind": "shipping_together",
"differences": [
"payment_method"
],
"next_bill_date": "2026-11-03",
"address": {
"id": 48213,
"name": "Dana Whitfield",
"address1": "12 Main St",
"address2": null,
"address3": null,
"city": "Salt Lake City",
"state": "UT",
"subdivision_code": "UT",
"postal_code": "84101",
"country_code": "US",
"phone": "+18015550147",
"country_num_code": 840,
"default": true
},
"members": [
{
"subscription_token": "sb_8f2c1d9e7a",
"label": "Daily Greens",
"variant_title": "30 servings",
"status": "active",
"quantity": 1,
"billing_interval": 1,
"billing_interval_unit": "month",
"timezone": "America/Denver",
"payment_method": {
"id": 77120,
"source": "card",
"card_brand": "Visa",
"last_four": "4242"
}
},
{
"subscription_token": "sb_3b7e0a41c6",
"label": "Collagen Peptides",
"variant_title": "Unflavored",
"status": "paused",
"quantity": 2,
"billing_interval": 1,
"billing_interval_unit": "month",
"timezone": "America/Denver",
"payment_method": {
"id": 77388,
"source": "card",
"card_brand": "American Express",
"last_four": "1005"
}
}
]
},
"meta": {
"request_id": "3e8b1f2a-6c4d-4a7e-9b10-2d5f8c3a1e67",
"timestamp": "2026-10-11T09:13:02Z"
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}{
"message": "<string>",
"error": "<string>",
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>",
"payment_uuid": "<string>",
"error_details": [
{
"code": "<string>",
"field": "<string>",
"payment": "not_attempted",
"message": "<string>"
}
],
"coded_recovery": true
}
}