curl --request POST \
--url https://api.example.com/api/v1/subscriptions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"custom_properties": "<unknown>",
"customer_id_or_alias": "<string>",
"plan_id": "<string>",
"start_date": "2023-12-25",
"add_ons": [
{
"add_on_id": "<string>",
"customization": {
"price_entry": {
"id": "<string>"
},
"name": "<string>"
},
"quantity": 1
}
],
"auto_advance_invoices": true,
"billing_day_anchor": 16384,
"charge_automatically": true,
"coupon_codes": [
"<string>"
],
"end_date": "2023-12-25",
"invoice_memo": "<string>",
"net_terms": 1,
"payment_methods_config": {
"config": {
"card": {
"enabled": true
},
"direct_debit": {
"enabled": true
}
}
},
"price_components": {
"extra_components": [
{
"name": "<string>",
"price_entry": {
"id": "<string>"
},
"product_ref": {
"id": "<string>"
}
}
],
"overridden_components": [
{
"component_id": "<string>",
"name": "<string>",
"price_entry": {
"id": "<string>"
}
}
],
"parameterized_components": [
{
"component_id": "<string>",
"parameters": {
"committed_capacity": 1,
"initial_slot_count": 1
}
}
],
"remove_components": [
"<string>"
]
},
"purchase_order": "<string>",
"skip_past_invoices": true,
"trial_days": 1,
"version": 123
}
'import requests
url = "https://api.example.com/api/v1/subscriptions"
payload = {
"custom_properties": "<unknown>",
"customer_id_or_alias": "<string>",
"plan_id": "<string>",
"start_date": "2023-12-25",
"add_ons": [
{
"add_on_id": "<string>",
"customization": {
"price_entry": { "id": "<string>" },
"name": "<string>"
},
"quantity": 1
}
],
"auto_advance_invoices": True,
"billing_day_anchor": 16384,
"charge_automatically": True,
"coupon_codes": ["<string>"],
"end_date": "2023-12-25",
"invoice_memo": "<string>",
"net_terms": 1,
"payment_methods_config": { "config": {
"card": { "enabled": True },
"direct_debit": { "enabled": True }
} },
"price_components": {
"extra_components": [
{
"name": "<string>",
"price_entry": { "id": "<string>" },
"product_ref": { "id": "<string>" }
}
],
"overridden_components": [
{
"component_id": "<string>",
"name": "<string>",
"price_entry": { "id": "<string>" }
}
],
"parameterized_components": [
{
"component_id": "<string>",
"parameters": {
"committed_capacity": 1,
"initial_slot_count": 1
}
}
],
"remove_components": ["<string>"]
},
"purchase_order": "<string>",
"skip_past_invoices": True,
"trial_days": 1,
"version": 123
}
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({
custom_properties: '<unknown>',
customer_id_or_alias: '<string>',
plan_id: '<string>',
start_date: '2023-12-25',
add_ons: [
{
add_on_id: '<string>',
customization: {price_entry: {id: '<string>'}, name: '<string>'},
quantity: 1
}
],
auto_advance_invoices: true,
billing_day_anchor: 16384,
charge_automatically: true,
coupon_codes: ['<string>'],
end_date: '2023-12-25',
invoice_memo: '<string>',
net_terms: 1,
payment_methods_config: {config: {card: {enabled: true}, direct_debit: {enabled: true}}},
price_components: {
extra_components: [
{name: '<string>', price_entry: {id: '<string>'}, product_ref: {id: '<string>'}}
],
overridden_components: [{component_id: '<string>', name: '<string>', price_entry: {id: '<string>'}}],
parameterized_components: [
{
component_id: '<string>',
parameters: {committed_capacity: 1, initial_slot_count: 1}
}
],
remove_components: ['<string>']
},
purchase_order: '<string>',
skip_past_invoices: true,
trial_days: 1,
version: 123
})
};
fetch('https://api.example.com/api/v1/subscriptions', 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.example.com/api/v1/subscriptions",
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([
'custom_properties' => '<unknown>',
'customer_id_or_alias' => '<string>',
'plan_id' => '<string>',
'start_date' => '2023-12-25',
'add_ons' => [
[
'add_on_id' => '<string>',
'customization' => [
'price_entry' => [
'id' => '<string>'
],
'name' => '<string>'
],
'quantity' => 1
]
],
'auto_advance_invoices' => true,
'billing_day_anchor' => 16384,
'charge_automatically' => true,
'coupon_codes' => [
'<string>'
],
'end_date' => '2023-12-25',
'invoice_memo' => '<string>',
'net_terms' => 1,
'payment_methods_config' => [
'config' => [
'card' => [
'enabled' => true
],
'direct_debit' => [
'enabled' => true
]
]
],
'price_components' => [
'extra_components' => [
[
'name' => '<string>',
'price_entry' => [
'id' => '<string>'
],
'product_ref' => [
'id' => '<string>'
]
]
],
'overridden_components' => [
[
'component_id' => '<string>',
'name' => '<string>',
'price_entry' => [
'id' => '<string>'
]
]
],
'parameterized_components' => [
[
'component_id' => '<string>',
'parameters' => [
'committed_capacity' => 1,
'initial_slot_count' => 1
]
]
],
'remove_components' => [
'<string>'
]
],
'purchase_order' => '<string>',
'skip_past_invoices' => true,
'trial_days' => 1,
'version' => 123
]),
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.example.com/api/v1/subscriptions"
payload := strings.NewReader("{\n \"custom_properties\": \"<unknown>\",\n \"customer_id_or_alias\": \"<string>\",\n \"plan_id\": \"<string>\",\n \"start_date\": \"2023-12-25\",\n \"add_ons\": [\n {\n \"add_on_id\": \"<string>\",\n \"customization\": {\n \"price_entry\": {\n \"id\": \"<string>\"\n },\n \"name\": \"<string>\"\n },\n \"quantity\": 1\n }\n ],\n \"auto_advance_invoices\": true,\n \"billing_day_anchor\": 16384,\n \"charge_automatically\": true,\n \"coupon_codes\": [\n \"<string>\"\n ],\n \"end_date\": \"2023-12-25\",\n \"invoice_memo\": \"<string>\",\n \"net_terms\": 1,\n \"payment_methods_config\": {\n \"config\": {\n \"card\": {\n \"enabled\": true\n },\n \"direct_debit\": {\n \"enabled\": true\n }\n }\n },\n \"price_components\": {\n \"extra_components\": [\n {\n \"name\": \"<string>\",\n \"price_entry\": {\n \"id\": \"<string>\"\n },\n \"product_ref\": {\n \"id\": \"<string>\"\n }\n }\n ],\n \"overridden_components\": [\n {\n \"component_id\": \"<string>\",\n \"name\": \"<string>\",\n \"price_entry\": {\n \"id\": \"<string>\"\n }\n }\n ],\n \"parameterized_components\": [\n {\n \"component_id\": \"<string>\",\n \"parameters\": {\n \"committed_capacity\": 1,\n \"initial_slot_count\": 1\n }\n }\n ],\n \"remove_components\": [\n \"<string>\"\n ]\n },\n \"purchase_order\": \"<string>\",\n \"skip_past_invoices\": true,\n \"trial_days\": 1,\n \"version\": 123\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.example.com/api/v1/subscriptions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"custom_properties\": \"<unknown>\",\n \"customer_id_or_alias\": \"<string>\",\n \"plan_id\": \"<string>\",\n \"start_date\": \"2023-12-25\",\n \"add_ons\": [\n {\n \"add_on_id\": \"<string>\",\n \"customization\": {\n \"price_entry\": {\n \"id\": \"<string>\"\n },\n \"name\": \"<string>\"\n },\n \"quantity\": 1\n }\n ],\n \"auto_advance_invoices\": true,\n \"billing_day_anchor\": 16384,\n \"charge_automatically\": true,\n \"coupon_codes\": [\n \"<string>\"\n ],\n \"end_date\": \"2023-12-25\",\n \"invoice_memo\": \"<string>\",\n \"net_terms\": 1,\n \"payment_methods_config\": {\n \"config\": {\n \"card\": {\n \"enabled\": true\n },\n \"direct_debit\": {\n \"enabled\": true\n }\n }\n },\n \"price_components\": {\n \"extra_components\": [\n {\n \"name\": \"<string>\",\n \"price_entry\": {\n \"id\": \"<string>\"\n },\n \"product_ref\": {\n \"id\": \"<string>\"\n }\n }\n ],\n \"overridden_components\": [\n {\n \"component_id\": \"<string>\",\n \"name\": \"<string>\",\n \"price_entry\": {\n \"id\": \"<string>\"\n }\n }\n ],\n \"parameterized_components\": [\n {\n \"component_id\": \"<string>\",\n \"parameters\": {\n \"committed_capacity\": 1,\n \"initial_slot_count\": 1\n }\n }\n ],\n \"remove_components\": [\n \"<string>\"\n ]\n },\n \"purchase_order\": \"<string>\",\n \"skip_past_invoices\": true,\n \"trial_days\": 1,\n \"version\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/subscriptions")
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 \"custom_properties\": \"<unknown>\",\n \"customer_id_or_alias\": \"<string>\",\n \"plan_id\": \"<string>\",\n \"start_date\": \"2023-12-25\",\n \"add_ons\": [\n {\n \"add_on_id\": \"<string>\",\n \"customization\": {\n \"price_entry\": {\n \"id\": \"<string>\"\n },\n \"name\": \"<string>\"\n },\n \"quantity\": 1\n }\n ],\n \"auto_advance_invoices\": true,\n \"billing_day_anchor\": 16384,\n \"charge_automatically\": true,\n \"coupon_codes\": [\n \"<string>\"\n ],\n \"end_date\": \"2023-12-25\",\n \"invoice_memo\": \"<string>\",\n \"net_terms\": 1,\n \"payment_methods_config\": {\n \"config\": {\n \"card\": {\n \"enabled\": true\n },\n \"direct_debit\": {\n \"enabled\": true\n }\n }\n },\n \"price_components\": {\n \"extra_components\": [\n {\n \"name\": \"<string>\",\n \"price_entry\": {\n \"id\": \"<string>\"\n },\n \"product_ref\": {\n \"id\": \"<string>\"\n }\n }\n ],\n \"overridden_components\": [\n {\n \"component_id\": \"<string>\",\n \"name\": \"<string>\",\n \"price_entry\": {\n \"id\": \"<string>\"\n }\n }\n ],\n \"parameterized_components\": [\n {\n \"component_id\": \"<string>\",\n \"parameters\": {\n \"committed_capacity\": 1,\n \"initial_slot_count\": 1\n }\n }\n ],\n \"remove_components\": [\n \"<string>\"\n ]\n },\n \"purchase_order\": \"<string>\",\n \"skip_past_invoices\": true,\n \"trial_days\": 1,\n \"version\": 123\n}"
response = http.request(request)
puts response.read_body{
"add_ons": [
{
"fee": {
"rate": "<string>"
},
"name": "<string>",
"quantity": 1,
"add_on_id": "<string>",
"id": "<string>"
}
],
"applied_coupons": [
{
"applied_coupon": {
"coupon_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"is_active": true,
"applied_amount": "<string>",
"applied_count": 123,
"last_applied_at": "2023-11-07T05:31:56Z"
},
"coupon": {
"code": "<string>",
"description": "<string>",
"disabled": true,
"discount": {
"percentage": "<string>"
},
"id": "<string>",
"reusable": true,
"expires_at": "2023-11-07T05:31:56Z",
"recurring_value": 123,
"redemption_limit": 123
}
}
],
"auto_advance_invoices": true,
"billing_day_anchor": 123,
"charge_automatically": true,
"components": [
{
"fee": {
"rate": "<string>"
},
"name": "<string>",
"price_component_id": "price_7n42DGM5Tflk9n8mt7Fhc7",
"product_id": "prd_7n42DGM5Tflk9n8mt7Fhc7"
}
],
"created_at": "2023-11-07T05:31:56Z",
"current_period_start": "2023-12-25",
"custom_properties": "<unknown>",
"customer_id": "<string>",
"customer_name": "<string>",
"id": "<string>",
"mrr_cents": 1,
"net_terms": 1,
"plan_id": "<string>",
"plan_name": "<string>",
"plan_version": 1,
"plan_version_id": "<string>",
"start_date": "2023-12-25",
"activated_at": "2023-11-07T05:31:56Z",
"billing_start_date": "2023-12-25",
"checkout_url": "<string>",
"current_period_end": "2023-12-25",
"customer_alias": "<string>",
"end_date": "2023-12-25",
"entitlements": [
{
"created_at": "2023-11-07T05:31:56Z",
"feature_id": "<string>",
"id": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"value": {
"enabled": true
}
}
],
"invoice_memo": "<string>",
"minimum_commitment": {
"amount": "<string>",
"scope": {}
},
"payment_methods_config": {
"config": {
"card": {
"enabled": true
},
"direct_debit": {
"enabled": true
}
}
},
"purchase_order": "<string>",
"trial_duration": 1
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}Create subscription
Create a new subscription for a customer with a specific plan.
curl --request POST \
--url https://api.example.com/api/v1/subscriptions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"custom_properties": "<unknown>",
"customer_id_or_alias": "<string>",
"plan_id": "<string>",
"start_date": "2023-12-25",
"add_ons": [
{
"add_on_id": "<string>",
"customization": {
"price_entry": {
"id": "<string>"
},
"name": "<string>"
},
"quantity": 1
}
],
"auto_advance_invoices": true,
"billing_day_anchor": 16384,
"charge_automatically": true,
"coupon_codes": [
"<string>"
],
"end_date": "2023-12-25",
"invoice_memo": "<string>",
"net_terms": 1,
"payment_methods_config": {
"config": {
"card": {
"enabled": true
},
"direct_debit": {
"enabled": true
}
}
},
"price_components": {
"extra_components": [
{
"name": "<string>",
"price_entry": {
"id": "<string>"
},
"product_ref": {
"id": "<string>"
}
}
],
"overridden_components": [
{
"component_id": "<string>",
"name": "<string>",
"price_entry": {
"id": "<string>"
}
}
],
"parameterized_components": [
{
"component_id": "<string>",
"parameters": {
"committed_capacity": 1,
"initial_slot_count": 1
}
}
],
"remove_components": [
"<string>"
]
},
"purchase_order": "<string>",
"skip_past_invoices": true,
"trial_days": 1,
"version": 123
}
'import requests
url = "https://api.example.com/api/v1/subscriptions"
payload = {
"custom_properties": "<unknown>",
"customer_id_or_alias": "<string>",
"plan_id": "<string>",
"start_date": "2023-12-25",
"add_ons": [
{
"add_on_id": "<string>",
"customization": {
"price_entry": { "id": "<string>" },
"name": "<string>"
},
"quantity": 1
}
],
"auto_advance_invoices": True,
"billing_day_anchor": 16384,
"charge_automatically": True,
"coupon_codes": ["<string>"],
"end_date": "2023-12-25",
"invoice_memo": "<string>",
"net_terms": 1,
"payment_methods_config": { "config": {
"card": { "enabled": True },
"direct_debit": { "enabled": True }
} },
"price_components": {
"extra_components": [
{
"name": "<string>",
"price_entry": { "id": "<string>" },
"product_ref": { "id": "<string>" }
}
],
"overridden_components": [
{
"component_id": "<string>",
"name": "<string>",
"price_entry": { "id": "<string>" }
}
],
"parameterized_components": [
{
"component_id": "<string>",
"parameters": {
"committed_capacity": 1,
"initial_slot_count": 1
}
}
],
"remove_components": ["<string>"]
},
"purchase_order": "<string>",
"skip_past_invoices": True,
"trial_days": 1,
"version": 123
}
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({
custom_properties: '<unknown>',
customer_id_or_alias: '<string>',
plan_id: '<string>',
start_date: '2023-12-25',
add_ons: [
{
add_on_id: '<string>',
customization: {price_entry: {id: '<string>'}, name: '<string>'},
quantity: 1
}
],
auto_advance_invoices: true,
billing_day_anchor: 16384,
charge_automatically: true,
coupon_codes: ['<string>'],
end_date: '2023-12-25',
invoice_memo: '<string>',
net_terms: 1,
payment_methods_config: {config: {card: {enabled: true}, direct_debit: {enabled: true}}},
price_components: {
extra_components: [
{name: '<string>', price_entry: {id: '<string>'}, product_ref: {id: '<string>'}}
],
overridden_components: [{component_id: '<string>', name: '<string>', price_entry: {id: '<string>'}}],
parameterized_components: [
{
component_id: '<string>',
parameters: {committed_capacity: 1, initial_slot_count: 1}
}
],
remove_components: ['<string>']
},
purchase_order: '<string>',
skip_past_invoices: true,
trial_days: 1,
version: 123
})
};
fetch('https://api.example.com/api/v1/subscriptions', 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.example.com/api/v1/subscriptions",
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([
'custom_properties' => '<unknown>',
'customer_id_or_alias' => '<string>',
'plan_id' => '<string>',
'start_date' => '2023-12-25',
'add_ons' => [
[
'add_on_id' => '<string>',
'customization' => [
'price_entry' => [
'id' => '<string>'
],
'name' => '<string>'
],
'quantity' => 1
]
],
'auto_advance_invoices' => true,
'billing_day_anchor' => 16384,
'charge_automatically' => true,
'coupon_codes' => [
'<string>'
],
'end_date' => '2023-12-25',
'invoice_memo' => '<string>',
'net_terms' => 1,
'payment_methods_config' => [
'config' => [
'card' => [
'enabled' => true
],
'direct_debit' => [
'enabled' => true
]
]
],
'price_components' => [
'extra_components' => [
[
'name' => '<string>',
'price_entry' => [
'id' => '<string>'
],
'product_ref' => [
'id' => '<string>'
]
]
],
'overridden_components' => [
[
'component_id' => '<string>',
'name' => '<string>',
'price_entry' => [
'id' => '<string>'
]
]
],
'parameterized_components' => [
[
'component_id' => '<string>',
'parameters' => [
'committed_capacity' => 1,
'initial_slot_count' => 1
]
]
],
'remove_components' => [
'<string>'
]
],
'purchase_order' => '<string>',
'skip_past_invoices' => true,
'trial_days' => 1,
'version' => 123
]),
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.example.com/api/v1/subscriptions"
payload := strings.NewReader("{\n \"custom_properties\": \"<unknown>\",\n \"customer_id_or_alias\": \"<string>\",\n \"plan_id\": \"<string>\",\n \"start_date\": \"2023-12-25\",\n \"add_ons\": [\n {\n \"add_on_id\": \"<string>\",\n \"customization\": {\n \"price_entry\": {\n \"id\": \"<string>\"\n },\n \"name\": \"<string>\"\n },\n \"quantity\": 1\n }\n ],\n \"auto_advance_invoices\": true,\n \"billing_day_anchor\": 16384,\n \"charge_automatically\": true,\n \"coupon_codes\": [\n \"<string>\"\n ],\n \"end_date\": \"2023-12-25\",\n \"invoice_memo\": \"<string>\",\n \"net_terms\": 1,\n \"payment_methods_config\": {\n \"config\": {\n \"card\": {\n \"enabled\": true\n },\n \"direct_debit\": {\n \"enabled\": true\n }\n }\n },\n \"price_components\": {\n \"extra_components\": [\n {\n \"name\": \"<string>\",\n \"price_entry\": {\n \"id\": \"<string>\"\n },\n \"product_ref\": {\n \"id\": \"<string>\"\n }\n }\n ],\n \"overridden_components\": [\n {\n \"component_id\": \"<string>\",\n \"name\": \"<string>\",\n \"price_entry\": {\n \"id\": \"<string>\"\n }\n }\n ],\n \"parameterized_components\": [\n {\n \"component_id\": \"<string>\",\n \"parameters\": {\n \"committed_capacity\": 1,\n \"initial_slot_count\": 1\n }\n }\n ],\n \"remove_components\": [\n \"<string>\"\n ]\n },\n \"purchase_order\": \"<string>\",\n \"skip_past_invoices\": true,\n \"trial_days\": 1,\n \"version\": 123\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.example.com/api/v1/subscriptions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"custom_properties\": \"<unknown>\",\n \"customer_id_or_alias\": \"<string>\",\n \"plan_id\": \"<string>\",\n \"start_date\": \"2023-12-25\",\n \"add_ons\": [\n {\n \"add_on_id\": \"<string>\",\n \"customization\": {\n \"price_entry\": {\n \"id\": \"<string>\"\n },\n \"name\": \"<string>\"\n },\n \"quantity\": 1\n }\n ],\n \"auto_advance_invoices\": true,\n \"billing_day_anchor\": 16384,\n \"charge_automatically\": true,\n \"coupon_codes\": [\n \"<string>\"\n ],\n \"end_date\": \"2023-12-25\",\n \"invoice_memo\": \"<string>\",\n \"net_terms\": 1,\n \"payment_methods_config\": {\n \"config\": {\n \"card\": {\n \"enabled\": true\n },\n \"direct_debit\": {\n \"enabled\": true\n }\n }\n },\n \"price_components\": {\n \"extra_components\": [\n {\n \"name\": \"<string>\",\n \"price_entry\": {\n \"id\": \"<string>\"\n },\n \"product_ref\": {\n \"id\": \"<string>\"\n }\n }\n ],\n \"overridden_components\": [\n {\n \"component_id\": \"<string>\",\n \"name\": \"<string>\",\n \"price_entry\": {\n \"id\": \"<string>\"\n }\n }\n ],\n \"parameterized_components\": [\n {\n \"component_id\": \"<string>\",\n \"parameters\": {\n \"committed_capacity\": 1,\n \"initial_slot_count\": 1\n }\n }\n ],\n \"remove_components\": [\n \"<string>\"\n ]\n },\n \"purchase_order\": \"<string>\",\n \"skip_past_invoices\": true,\n \"trial_days\": 1,\n \"version\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/subscriptions")
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 \"custom_properties\": \"<unknown>\",\n \"customer_id_or_alias\": \"<string>\",\n \"plan_id\": \"<string>\",\n \"start_date\": \"2023-12-25\",\n \"add_ons\": [\n {\n \"add_on_id\": \"<string>\",\n \"customization\": {\n \"price_entry\": {\n \"id\": \"<string>\"\n },\n \"name\": \"<string>\"\n },\n \"quantity\": 1\n }\n ],\n \"auto_advance_invoices\": true,\n \"billing_day_anchor\": 16384,\n \"charge_automatically\": true,\n \"coupon_codes\": [\n \"<string>\"\n ],\n \"end_date\": \"2023-12-25\",\n \"invoice_memo\": \"<string>\",\n \"net_terms\": 1,\n \"payment_methods_config\": {\n \"config\": {\n \"card\": {\n \"enabled\": true\n },\n \"direct_debit\": {\n \"enabled\": true\n }\n }\n },\n \"price_components\": {\n \"extra_components\": [\n {\n \"name\": \"<string>\",\n \"price_entry\": {\n \"id\": \"<string>\"\n },\n \"product_ref\": {\n \"id\": \"<string>\"\n }\n }\n ],\n \"overridden_components\": [\n {\n \"component_id\": \"<string>\",\n \"name\": \"<string>\",\n \"price_entry\": {\n \"id\": \"<string>\"\n }\n }\n ],\n \"parameterized_components\": [\n {\n \"component_id\": \"<string>\",\n \"parameters\": {\n \"committed_capacity\": 1,\n \"initial_slot_count\": 1\n }\n }\n ],\n \"remove_components\": [\n \"<string>\"\n ]\n },\n \"purchase_order\": \"<string>\",\n \"skip_past_invoices\": true,\n \"trial_days\": 1,\n \"version\": 123\n}"
response = http.request(request)
puts response.read_body{
"add_ons": [
{
"fee": {
"rate": "<string>"
},
"name": "<string>",
"quantity": 1,
"add_on_id": "<string>",
"id": "<string>"
}
],
"applied_coupons": [
{
"applied_coupon": {
"coupon_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"is_active": true,
"applied_amount": "<string>",
"applied_count": 123,
"last_applied_at": "2023-11-07T05:31:56Z"
},
"coupon": {
"code": "<string>",
"description": "<string>",
"disabled": true,
"discount": {
"percentage": "<string>"
},
"id": "<string>",
"reusable": true,
"expires_at": "2023-11-07T05:31:56Z",
"recurring_value": 123,
"redemption_limit": 123
}
}
],
"auto_advance_invoices": true,
"billing_day_anchor": 123,
"charge_automatically": true,
"components": [
{
"fee": {
"rate": "<string>"
},
"name": "<string>",
"price_component_id": "price_7n42DGM5Tflk9n8mt7Fhc7",
"product_id": "prd_7n42DGM5Tflk9n8mt7Fhc7"
}
],
"created_at": "2023-11-07T05:31:56Z",
"current_period_start": "2023-12-25",
"custom_properties": "<unknown>",
"customer_id": "<string>",
"customer_name": "<string>",
"id": "<string>",
"mrr_cents": 1,
"net_terms": 1,
"plan_id": "<string>",
"plan_name": "<string>",
"plan_version": 1,
"plan_version_id": "<string>",
"start_date": "2023-12-25",
"activated_at": "2023-11-07T05:31:56Z",
"billing_start_date": "2023-12-25",
"checkout_url": "<string>",
"current_period_end": "2023-12-25",
"customer_alias": "<string>",
"end_date": "2023-12-25",
"entitlements": [
{
"created_at": "2023-11-07T05:31:56Z",
"feature_id": "<string>",
"id": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"value": {
"enabled": true
}
}
],
"invoice_memo": "<string>",
"minimum_commitment": {
"amount": "<string>",
"scope": {}
},
"payment_methods_config": {
"config": {
"card": {
"enabled": true
},
"direct_debit": {
"enabled": true
}
}
},
"purchase_order": "<string>",
"trial_duration": 1
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
ON_START, ON_CHECKOUT, MANUAL User-defined custom property values, keyed by definition key. Validated against the
tenant's subscription definitions.
"plan_7n42DGM5Tflk9n8mt7Fhc7"
"2024-11-01"
Show child attributes
Show child attributes
1 <= x <= 32767"2025-11-01"
x >= 0Payment methods configuration. If not specified, inherits from the invoicing entity.
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Migration mode: when true with a past start_date, skip creating invoices for past cycles. The subscription will be set to the current billing period with correct cycle_index.
x >= 0Response
Subscription successfully created
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
When the subscription was created
AED, AFN, ALL, AMD, ANG, AOA, ARS, AUD, AWG, AZN, BAM, BBD, BDT, BGN, BHD, BIF, BMD, BND, BOB, BRL, BSD, BTN, BWP, BYN, BZD, CAD, CDF, CHF, CLP, CNH, CNY, COP, CRC, CUC, CUP, CVE, CZK, DJF, DKK, DOP, DZD, EGP, ERN, ETB, EUR, FJD, FKP, GBP, GEL, GHS, GIP, GMD, GNF, GTQ, GYD, HKD, HNL, HRK, HTG, HUF, IDR, ILS, INR, IQD, IRR, ISK, JMD, JOD, JPY, KES, KGS, KHR, KMF, KPW, KRW, KWD, KYD, KZT, LAK, LBP, LKR, LRD, LSL, LYD, MAD, MDL, MGA, MKD, MMK, MNT, MOP, MRU, MUR, MVR, MWK, MXN, MYR, MZN, NAD, NGN, NIO, NOK, NPR, NZD, OMR, PAB, PEN, PGK, PHP, PKR, PLN, PYG, QAR, RON, RSD, RUB, RWF, SAR, SBD, SCR, SDG, SEK, SGD, SHP, SLL, SOS, SRD, SSP, STD, STN, SVC, SYP, SZL, THB, TJS, TMT, TND, TOP, TRY, TTD, TWD, TZS, UAH, UGX, USD, UYU, UZS, VES, VND, VUV, WST, XAF, XCD, XOF, XPF, YER, ZAR, ZMW, ZWL "EUR"
Current billing period start date
User-defined custom property values, keyed by definition key.
"cus_7n42DGM5Tflk9n8mt7Fhc7"
"sub_7n42DGM5Tflk9n8mt7Fhc7"
Monthly recurring revenue in cents
x >= 0Payment terms in days (0 = due on issue)
x >= 0Billing period (monthly, annual, etc.)
MONTHLY, QUARTERLY, SEMIANNUAL, ANNUAL "plan_7n42DGM5Tflk9n8mt7Fhc7"
x >= 0"plv_7n42DGM5Tflk9n8mt7Fhc7"
When the subscription contract starts (benefits apply from this date)
PENDING_ACTIVATION, PENDING_CHARGE, TRIAL_ACTIVE, ACTIVE, TRIAL_EXPIRED, PAUSED, SUSPENDED, CANCELLED, ABORTED, COMPLETED, SUPERSEDED, ERRORED When the subscription was activated (first payment or activation condition met)
When billing started (after any trial period)
Current billing period end date
When the subscription ends (if set)
Show child attributes
Show child attributes
Default memo for invoices
Materialized minimum-commitment floor on this subscription (plan snapshot or operator override). Read-only here — set it at creation, or change it via a subscription amendment.
Show child attributes
Show child attributes
Online (card/direct debit), BankTransfer, or External.
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes
Trial duration in days
x >= 0