Skip to main content
GET
/
api
/
external
/
v2
/
subscription-contract-details
/
billing-interval
Get billing interval options for selling plans
curl --request GET \
  --url https://membership-admin.appstle.com/api/external/v2/subscription-contract-details/billing-interval
import requests

url = "https://membership-admin.appstle.com/api/external/v2/subscription-contract-details/billing-interval"

response = requests.get(url)

print(response.text)
const options = {method: 'GET'};

fetch('https://membership-admin.appstle.com/api/external/v2/subscription-contract-details/billing-interval', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
const url = 'https://membership-admin.appstle.com/api/external/v2/subscription-contract-details/billing-interval';
const options = {method: 'GET'};

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://membership-admin.appstle.com/api/external/v2/subscription-contract-details/billing-interval",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);

$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://membership-admin.appstle.com/api/external/v2/subscription-contract-details/billing-interval"

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

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://membership-admin.appstle.com/api/external/v2/subscription-contract-details/billing-interval")

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

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
{
  "afterCycle1": 123,
  "afterCycle2": 123,
  "allowedForUpgradeDowngrade": true,
  "billingFrequencyCount": 123,
  "cutOff": 123,
  "discountEnabled": true,
  "discountEnabled2": true,
  "discountEnabled2Masked": true,
  "discountEnabledMasked": true,
  "discountOffer": 123,
  "discountOffer2": 123,
  "freeTrialCount": 123,
  "freeTrialEnabled": true,
  "frequencyCount": 123,
  "frequencyDescription": "<string>",
  "frequencyName": "<string>",
  "groupId": 123,
  "groupName": "<string>",
  "id": "<string>",
  "idNew": "<string>",
  "keepOriginalNextBillingDateAfterTrial": true,
  "lifeTimeMembership": true,
  "maxCycles": 123,
  "memberExclusiveTags": "<string>",
  "memberInclusiveTags": "<string>",
  "memberOnly": true,
  "minCycles": 123,
  "nonMemberOnly": true,
  "planSequence": 123,
  "prepaidFlag": "<string>",
  "rulesJson": "<string>",
  "specificDayEnabled": true,
  "specificDayValue": 123,
  "specificMonthValue": 123
}
[
{
"afterCycle1": 123,
"afterCycle2": 123,
"allowedForUpgradeDowngrade": true,
"billingFrequencyCount": 123,
"cutOff": 123,
"discountEnabled": true,
"discountEnabled2": true,
"discountEnabled2Masked": true,
"discountEnabledMasked": true,
"discountOffer": 123,
"discountOffer2": 123,
"freeTrialCount": 123,
"freeTrialEnabled": true,
"frequencyCount": 123,
"frequencyDescription": "<string>",
"frequencyName": "<string>",
"groupId": 123,
"groupName": "<string>",
"id": "<string>",
"idNew": "<string>",
"keepOriginalNextBillingDateAfterTrial": true,
"lifeTimeMembership": true,
"maxCycles": 123,
"memberExclusiveTags": "<string>",
"memberInclusiveTags": "<string>",
"memberOnly": true,
"minCycles": 123,
"nonMemberOnly": true,
"planSequence": 123,
"prepaidFlag": "<string>",
"rulesJson": "<string>",
"specificDayEnabled": true,
"specificDayValue": 123,
"specificMonthValue": 123
}
]
[
{
"afterCycle1": 123,
"afterCycle2": 123,
"allowedForUpgradeDowngrade": true,
"billingFrequencyCount": 123,
"cutOff": 123,
"discountEnabled": true,
"discountEnabled2": true,
"discountEnabled2Masked": true,
"discountEnabledMasked": true,
"discountOffer": 123,
"discountOffer2": 123,
"freeTrialCount": 123,
"freeTrialEnabled": true,
"frequencyCount": 123,
"frequencyDescription": "<string>",
"frequencyName": "<string>",
"groupId": 123,
"groupName": "<string>",
"id": "<string>",
"idNew": "<string>",
"keepOriginalNextBillingDateAfterTrial": true,
"lifeTimeMembership": true,
"maxCycles": 123,
"memberExclusiveTags": "<string>",
"memberInclusiveTags": "<string>",
"memberOnly": true,
"minCycles": 123,
"nonMemberOnly": true,
"planSequence": 123,
"prepaidFlag": "<string>",
"rulesJson": "<string>",
"specificDayEnabled": true,
"specificDayValue": 123,
"specificMonthValue": 123
}
]

Headers

X-API-Key
string

Query Parameters

api_key
string

API Key (Deprecated - Use Header X-API-Key instead)

sellingPlanIds
string
required

Comma-separated list of Shopify selling plan IDs

Response

Billing interval options successfully retrieved

afterCycle1
integer<int32>
afterCycle2
integer<int32>
allowedForUpgradeDowngrade
boolean
billingFrequencyCount
integer<int32>
billingFrequencyInterval
enum<string>
Available options:
DAY,
WEEK,
MONTH,
YEAR
cutOff
integer<int32>
deliveryPolicyPreAnchorBehavior
enum<string>
Available options:
ASAP,
NEXT,
$UNKNOWN
discountEnabled
boolean
discountEnabled2
boolean
discountEnabled2Masked
boolean
discountEnabledMasked
boolean
discountOffer
number<double>
discountOffer2
number<double>
discountType
enum<string>
Available options:
PERCENTAGE,
FIXED,
PRICE
discountType2
enum<string>
Available options:
PERCENTAGE,
FIXED,
PRICE
freeTrialCount
integer<int32>
freeTrialEnabled
boolean
freeTrialInterval
enum<string>
Available options:
DAY,
WEEK,
MONTH,
YEAR
frequencyCount
integer<int32>
frequencyDescription
string
frequencyInterval
enum<string>
Available options:
DAY,
WEEK,
MONTH,
YEAR
frequencyName
string
frequencyType
enum<string>
Available options:
ON_PURCHASE_DAY,
ON_SPECIFIC_DAY
groupId
integer<int64>
groupName
string
id
string
idNew
string
keepOriginalNextBillingDateAfterTrial
boolean
lifeTimeMembership
boolean
maxCycles
integer<int32>
memberExclusiveTags
string
memberInclusiveTags
string
memberOnly
boolean
minCycles
integer<int32>
nonMemberOnly
boolean
planSequence
integer<int32>
planType
enum<string>
Available options:
PAY_AS_YOU_GO,
PREPAID,
ADVANCED_PREPAID
prepaidFlag
string
rulesJson
string
specificDayEnabled
boolean
specificDayValue
integer<int32>
specificMonthValue
integer<int32>