Subscription Contracts
Update Subscription contract frequency by selling plan
PUT
/
api
/
external
/
v2
/
subscription-contracts-update-frequency-by-selling-plan
Update Subscription contract frequency by selling plan
curl --request PUT \
--url https://subscription-admin.appstle.com/api/external/v2/subscription-contracts-update-frequency-by-selling-plan \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://subscription-admin.appstle.com/api/external/v2/subscription-contracts-update-frequency-by-selling-plan"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.put(url, headers=headers)
print(response.text)const options = {method: 'PUT', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://subscription-admin.appstle.com/api/external/v2/subscription-contracts-update-frequency-by-selling-plan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://subscription-admin.appstle.com/api/external/v2/subscription-contracts-update-frequency-by-selling-plan';
const options = {method: 'PUT', headers: {'X-API-Key': '<x-api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://subscription-admin.appstle.com/api/external/v2/subscription-contracts-update-frequency-by-selling-plan",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>"
],
]);
$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://subscription-admin.appstle.com/api/external/v2/subscription-contracts-update-frequency-by-selling-plan"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://subscription-admin.appstle.com/api/external/v2/subscription-contracts-update-frequency-by-selling-plan")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"billingPolicy": {
"anchors": [],
"interval": "DAY",
"intervalCount": 5,
"maxCycles": 6,
"minCycles": 3
},
"customer": {
"displayName": "abc xyz",
"email": "abc@gmail.com",
"firstName": "abc",
"id": "gid://shopify/Customer/111111111111",
"lastName": "xyz"
},
"customerPaymentMethod": {
"id": "gid://shopify/CustomerPaymentMethod/1111111111111111111",
"instrument": {
"brand": "bogus",
"expiryMonth": 12,
"expiryYear": 2030,
"lastDigits": "1",
"name": "abc xyz"
}
},
"deliveryMethod": {
"address": {
"address1": "test",
"city": "Sunnyvale",
"country": "United States",
"province": "California",
"zip": "94087"
}
},
"deliveryPolicy": {
"anchors": [],
"interval": "DAY",
"intervalCount": 5
},
"id": "gid://shopify/SubscriptionContract/123456789",
"lines": {
"edges": [
{
"node": {
"currentPrice": {
"amount": "154.0",
"currencyCode": "USD"
},
"id": "gid://shopify/SubscriptionLine/49e73332-5dfc-4fba-9ee7-111111111",
"lineDiscountedPrice": {
"amount": "154.0",
"currencyCode": "USD"
},
"productId": "gid://shopify/Product/1111111111",
"quantity": 1,
"sellingPlanId": "gid://shopify/SellingPlan/691881211111",
"sellingPlanName": "4 Monthly Subscription",
"taxable": true,
"title": "Blub Indoor",
"variantId": "gid://shopify/ProductVariant/111111111111",
"variantImage": {
"transformedSrc": "https://cdn.shopify.com/s/files/1/0933/4738/1543/files/shopping_41111111111111111111111111111111111"
}
}
}
]
},
"nextBillingDate": "2025-08-08T13:00:00Z",
"status": "ACTIVE"
}Headers
API Key for authentication
Query Parameters
Subscription contract ID to update. Provide the numeric ID without the gid:// prefix
Required range:
x >= 1The unique identifier of the new selling plan. Provide the numeric ID without gid:// prefix.
Required range:
x >= 1Response
Subscription contract frequency updated successfully
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Available options:
SUCCEEDED, FAILED, $UNKNOWN Show child attributes
Show child attributes
Show child attributes
Show child attributes
Available options:
ACTIVE, PAUSED, CANCELLED, EXPIRED, FAILED, $UNKNOWN Update Subscription contract frequency by compatible selling-plan frequency
Previous
Update line item attributes for a subscription contract
Next
⌘I
Update Subscription contract frequency by selling plan
curl --request PUT \
--url https://subscription-admin.appstle.com/api/external/v2/subscription-contracts-update-frequency-by-selling-plan \
--header 'X-API-Key: <x-api-key>'import requests
url = "https://subscription-admin.appstle.com/api/external/v2/subscription-contracts-update-frequency-by-selling-plan"
headers = {"X-API-Key": "<x-api-key>"}
response = requests.put(url, headers=headers)
print(response.text)const options = {method: 'PUT', headers: {'X-API-Key': '<x-api-key>'}};
fetch('https://subscription-admin.appstle.com/api/external/v2/subscription-contracts-update-frequency-by-selling-plan', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://subscription-admin.appstle.com/api/external/v2/subscription-contracts-update-frequency-by-selling-plan';
const options = {method: 'PUT', headers: {'X-API-Key': '<x-api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://subscription-admin.appstle.com/api/external/v2/subscription-contracts-update-frequency-by-selling-plan",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => [
"X-API-Key: <x-api-key>"
],
]);
$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://subscription-admin.appstle.com/api/external/v2/subscription-contracts-update-frequency-by-selling-plan"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("X-API-Key", "<x-api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}require 'uri'
require 'net/http'
url = URI("https://subscription-admin.appstle.com/api/external/v2/subscription-contracts-update-frequency-by-selling-plan")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-API-Key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"billingPolicy": {
"anchors": [],
"interval": "DAY",
"intervalCount": 5,
"maxCycles": 6,
"minCycles": 3
},
"customer": {
"displayName": "abc xyz",
"email": "abc@gmail.com",
"firstName": "abc",
"id": "gid://shopify/Customer/111111111111",
"lastName": "xyz"
},
"customerPaymentMethod": {
"id": "gid://shopify/CustomerPaymentMethod/1111111111111111111",
"instrument": {
"brand": "bogus",
"expiryMonth": 12,
"expiryYear": 2030,
"lastDigits": "1",
"name": "abc xyz"
}
},
"deliveryMethod": {
"address": {
"address1": "test",
"city": "Sunnyvale",
"country": "United States",
"province": "California",
"zip": "94087"
}
},
"deliveryPolicy": {
"anchors": [],
"interval": "DAY",
"intervalCount": 5
},
"id": "gid://shopify/SubscriptionContract/123456789",
"lines": {
"edges": [
{
"node": {
"currentPrice": {
"amount": "154.0",
"currencyCode": "USD"
},
"id": "gid://shopify/SubscriptionLine/49e73332-5dfc-4fba-9ee7-111111111",
"lineDiscountedPrice": {
"amount": "154.0",
"currencyCode": "USD"
},
"productId": "gid://shopify/Product/1111111111",
"quantity": 1,
"sellingPlanId": "gid://shopify/SellingPlan/691881211111",
"sellingPlanName": "4 Monthly Subscription",
"taxable": true,
"title": "Blub Indoor",
"variantId": "gid://shopify/ProductVariant/111111111111",
"variantImage": {
"transformedSrc": "https://cdn.shopify.com/s/files/1/0933/4738/1543/files/shopping_41111111111111111111111111111111111"
}
}
}
]
},
"nextBillingDate": "2025-08-08T13:00:00Z",
"status": "ACTIVE"
}