Skip one item of an autoship profile once
Skips the next shipment of one member only. That item leaves the profile
for one interval and rejoins it on the date the other members bill after
their next renewal. The response carries the profile the other members
still form, or null when fewer than two of them remain.
Requires a customer bearer token. The profile is the one whose members
are exactly subscription_tokens. Returns 404 when a token is not the
customer’s or Subscription Pro does not offer autoship profiles to the
company, 409 with meta.code profile_changed when the profile’s
members changed since the client read them, 422 when the change is
refused (the reason is in meta.code), and 401 when unauthenticated.
curl --request POST \
--url https://api.fluid.app/api/checkout/v2026-04/subscription-profiles/skip-item \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"subscription_tokens": [
"sb_7Qm2VxK9pRtL4wNc8HzJdF",
"sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn"
],
"subscription_token": "sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn"
}
'import requests
url = "https://api.fluid.app/api/checkout/v2026-04/subscription-profiles/skip-item"
payload = {
"subscription_tokens": ["sb_7Qm2VxK9pRtL4wNc8HzJdF", "sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn"],
"subscription_token": "sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
subscription_tokens: ['sb_7Qm2VxK9pRtL4wNc8HzJdF', 'sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn'],
subscription_token: 'sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn'
})
};
fetch('https://api.fluid.app/api/checkout/v2026-04/subscription-profiles/skip-item', 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/checkout/v2026-04/subscription-profiles/skip-item",
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([
'subscription_tokens' => [
'sb_7Qm2VxK9pRtL4wNc8HzJdF',
'sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn'
],
'subscription_token' => 'sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.fluid.app/api/checkout/v2026-04/subscription-profiles/skip-item"
payload := strings.NewReader("{\n \"subscription_tokens\": [\n \"sb_7Qm2VxK9pRtL4wNc8HzJdF\",\n \"sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn\"\n ],\n \"subscription_token\": \"sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.fluid.app/api/checkout/v2026-04/subscription-profiles/skip-item")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"subscription_tokens\": [\n \"sb_7Qm2VxK9pRtL4wNc8HzJdF\",\n \"sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn\"\n ],\n \"subscription_token\": \"sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/checkout/v2026-04/subscription-profiles/skip-item")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"subscription_tokens\": [\n \"sb_7Qm2VxK9pRtL4wNc8HzJdF\",\n \"sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn\"\n ],\n \"subscription_token\": \"sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn\"\n}"
response = http.request(request)
puts response.read_body{
"profile": null,
"meta": {
"request_id": "0d6c3f92-8b1e-4a75-9d2c-4f7e1a5b8c30",
"timestamp": "2026-09-30T14:05:22Z"
}
}{
"message": "<string>"
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>"
}
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>"
}
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>"
}
}Authorizations
Bearer token authentication
Body
Response
The profile after the change.
The autoship profile after a profile write, or null when skipping one
item leaves fewer than two members together.
The autoship profile this subscription belongs to: the subscriptions that renew as one order and also share a payment method, a plan cadence and a timezone, so they stay together after each shipment. Derived from the subscriptions on every read and never stored.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
curl --request POST \
--url https://api.fluid.app/api/checkout/v2026-04/subscription-profiles/skip-item \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"subscription_tokens": [
"sb_7Qm2VxK9pRtL4wNc8HzJdF",
"sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn"
],
"subscription_token": "sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn"
}
'import requests
url = "https://api.fluid.app/api/checkout/v2026-04/subscription-profiles/skip-item"
payload = {
"subscription_tokens": ["sb_7Qm2VxK9pRtL4wNc8HzJdF", "sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn"],
"subscription_token": "sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
subscription_tokens: ['sb_7Qm2VxK9pRtL4wNc8HzJdF', 'sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn'],
subscription_token: 'sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn'
})
};
fetch('https://api.fluid.app/api/checkout/v2026-04/subscription-profiles/skip-item', 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/checkout/v2026-04/subscription-profiles/skip-item",
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([
'subscription_tokens' => [
'sb_7Qm2VxK9pRtL4wNc8HzJdF',
'sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn'
],
'subscription_token' => 'sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.fluid.app/api/checkout/v2026-04/subscription-profiles/skip-item"
payload := strings.NewReader("{\n \"subscription_tokens\": [\n \"sb_7Qm2VxK9pRtL4wNc8HzJdF\",\n \"sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn\"\n ],\n \"subscription_token\": \"sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.fluid.app/api/checkout/v2026-04/subscription-profiles/skip-item")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"subscription_tokens\": [\n \"sb_7Qm2VxK9pRtL4wNc8HzJdF\",\n \"sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn\"\n ],\n \"subscription_token\": \"sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/checkout/v2026-04/subscription-profiles/skip-item")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"subscription_tokens\": [\n \"sb_7Qm2VxK9pRtL4wNc8HzJdF\",\n \"sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn\"\n ],\n \"subscription_token\": \"sb_4Mw9Tc2Kd7Rx5Hb8Lq3Pn\"\n}"
response = http.request(request)
puts response.read_body{
"profile": null,
"meta": {
"request_id": "0d6c3f92-8b1e-4a75-9d2c-4f7e1a5b8c30",
"timestamp": "2026-09-30T14:05:22Z"
}
}{
"message": "<string>"
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>"
}
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>"
}
}{
"error_message": "<string>",
"errors": "<string>",
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"code": "<string>"
}
}