curl --request POST \
--url https://api.example.com/subscriptions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-environment: <x-environment>' \
--data '
{
"currency": "<string>",
"customerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"start": "2023-12-25",
"description": "<string>",
"end": "2023-12-25",
"autoRenewal": true,
"items": [
{
"productId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"priceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"quantity": 123,
"billAt": "2023-11-07T05:31:56Z",
"periodFrom": "2023-12-25",
"prorate": {
"fromDate": "2023-12-25"
}
}
],
"metaData": {},
"bookAndSettle": {}
}
'import requests
url = "https://api.example.com/subscriptions"
payload = {
"currency": "<string>",
"customerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"start": "2023-12-25",
"description": "<string>",
"end": "2023-12-25",
"autoRenewal": True,
"items": [
{
"productId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"priceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"quantity": 123,
"billAt": "2023-11-07T05:31:56Z",
"periodFrom": "2023-12-25",
"prorate": { "fromDate": "2023-12-25" }
}
],
"metaData": {},
"bookAndSettle": {}
}
headers = {
"x-environment": "<x-environment>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-environment': '<x-environment>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
currency: '<string>',
customerId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
start: '2023-12-25',
description: '<string>',
end: '2023-12-25',
autoRenewal: true,
items: [
{
productId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
priceId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
quantity: 123,
billAt: '2023-11-07T05:31:56Z',
periodFrom: '2023-12-25',
prorate: {fromDate: '2023-12-25'}
}
],
metaData: {},
bookAndSettle: {}
})
};
fetch('https://api.example.com/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/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([
'currency' => '<string>',
'customerId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'start' => '2023-12-25',
'description' => '<string>',
'end' => '2023-12-25',
'autoRenewal' => true,
'items' => [
[
'productId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'priceId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'quantity' => 123,
'billAt' => '2023-11-07T05:31:56Z',
'periodFrom' => '2023-12-25',
'prorate' => [
'fromDate' => '2023-12-25'
]
]
],
'metaData' => [
],
'bookAndSettle' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-environment: <x-environment>"
],
]);
$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/subscriptions"
payload := strings.NewReader("{\n \"currency\": \"<string>\",\n \"customerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"start\": \"2023-12-25\",\n \"description\": \"<string>\",\n \"end\": \"2023-12-25\",\n \"autoRenewal\": true,\n \"items\": [\n {\n \"productId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"priceId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"quantity\": 123,\n \"billAt\": \"2023-11-07T05:31:56Z\",\n \"periodFrom\": \"2023-12-25\",\n \"prorate\": {\n \"fromDate\": \"2023-12-25\"\n }\n }\n ],\n \"metaData\": {},\n \"bookAndSettle\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-environment", "<x-environment>")
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/subscriptions")
.header("x-environment", "<x-environment>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"currency\": \"<string>\",\n \"customerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"start\": \"2023-12-25\",\n \"description\": \"<string>\",\n \"end\": \"2023-12-25\",\n \"autoRenewal\": true,\n \"items\": [\n {\n \"productId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"priceId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"quantity\": 123,\n \"billAt\": \"2023-11-07T05:31:56Z\",\n \"periodFrom\": \"2023-12-25\",\n \"prorate\": {\n \"fromDate\": \"2023-12-25\"\n }\n }\n ],\n \"metaData\": {},\n \"bookAndSettle\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/subscriptions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-environment"] = '<x-environment>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"currency\": \"<string>\",\n \"customerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"start\": \"2023-12-25\",\n \"description\": \"<string>\",\n \"end\": \"2023-12-25\",\n \"autoRenewal\": true,\n \"items\": [\n {\n \"productId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"priceId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"quantity\": 123,\n \"billAt\": \"2023-11-07T05:31:56Z\",\n \"periodFrom\": \"2023-12-25\",\n \"prorate\": {\n \"fromDate\": \"2023-12-25\"\n }\n }\n ],\n \"metaData\": {},\n \"bookAndSettle\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"handle": "<string>",
"currency": "USD",
"term": {
"start": "2023-12-25",
"end": "2023-12-25"
},
"autoRenewal": true,
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"billAt": "2023-11-07T05:31:56Z",
"period": {
"start": "2023-12-25",
"end": "2023-12-25"
},
"quantity": 123,
"product": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"price": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
}
],
"createdAt": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}Create subscription
Creates a new subscription.
curl --request POST \
--url https://api.example.com/subscriptions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-environment: <x-environment>' \
--data '
{
"currency": "<string>",
"customerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"start": "2023-12-25",
"description": "<string>",
"end": "2023-12-25",
"autoRenewal": true,
"items": [
{
"productId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"priceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"quantity": 123,
"billAt": "2023-11-07T05:31:56Z",
"periodFrom": "2023-12-25",
"prorate": {
"fromDate": "2023-12-25"
}
}
],
"metaData": {},
"bookAndSettle": {}
}
'import requests
url = "https://api.example.com/subscriptions"
payload = {
"currency": "<string>",
"customerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"start": "2023-12-25",
"description": "<string>",
"end": "2023-12-25",
"autoRenewal": True,
"items": [
{
"productId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"priceId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"quantity": 123,
"billAt": "2023-11-07T05:31:56Z",
"periodFrom": "2023-12-25",
"prorate": { "fromDate": "2023-12-25" }
}
],
"metaData": {},
"bookAndSettle": {}
}
headers = {
"x-environment": "<x-environment>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-environment': '<x-environment>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
currency: '<string>',
customerId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
start: '2023-12-25',
description: '<string>',
end: '2023-12-25',
autoRenewal: true,
items: [
{
productId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
priceId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
quantity: 123,
billAt: '2023-11-07T05:31:56Z',
periodFrom: '2023-12-25',
prorate: {fromDate: '2023-12-25'}
}
],
metaData: {},
bookAndSettle: {}
})
};
fetch('https://api.example.com/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/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([
'currency' => '<string>',
'customerId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'start' => '2023-12-25',
'description' => '<string>',
'end' => '2023-12-25',
'autoRenewal' => true,
'items' => [
[
'productId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'priceId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'quantity' => 123,
'billAt' => '2023-11-07T05:31:56Z',
'periodFrom' => '2023-12-25',
'prorate' => [
'fromDate' => '2023-12-25'
]
]
],
'metaData' => [
],
'bookAndSettle' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-environment: <x-environment>"
],
]);
$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/subscriptions"
payload := strings.NewReader("{\n \"currency\": \"<string>\",\n \"customerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"start\": \"2023-12-25\",\n \"description\": \"<string>\",\n \"end\": \"2023-12-25\",\n \"autoRenewal\": true,\n \"items\": [\n {\n \"productId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"priceId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"quantity\": 123,\n \"billAt\": \"2023-11-07T05:31:56Z\",\n \"periodFrom\": \"2023-12-25\",\n \"prorate\": {\n \"fromDate\": \"2023-12-25\"\n }\n }\n ],\n \"metaData\": {},\n \"bookAndSettle\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-environment", "<x-environment>")
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/subscriptions")
.header("x-environment", "<x-environment>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"currency\": \"<string>\",\n \"customerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"start\": \"2023-12-25\",\n \"description\": \"<string>\",\n \"end\": \"2023-12-25\",\n \"autoRenewal\": true,\n \"items\": [\n {\n \"productId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"priceId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"quantity\": 123,\n \"billAt\": \"2023-11-07T05:31:56Z\",\n \"periodFrom\": \"2023-12-25\",\n \"prorate\": {\n \"fromDate\": \"2023-12-25\"\n }\n }\n ],\n \"metaData\": {},\n \"bookAndSettle\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/subscriptions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-environment"] = '<x-environment>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"currency\": \"<string>\",\n \"customerId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"start\": \"2023-12-25\",\n \"description\": \"<string>\",\n \"end\": \"2023-12-25\",\n \"autoRenewal\": true,\n \"items\": [\n {\n \"productId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"priceId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"quantity\": 123,\n \"billAt\": \"2023-11-07T05:31:56Z\",\n \"periodFrom\": \"2023-12-25\",\n \"prorate\": {\n \"fromDate\": \"2023-12-25\"\n }\n }\n ],\n \"metaData\": {},\n \"bookAndSettle\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"handle": "<string>",
"currency": "USD",
"term": {
"start": "2023-12-25",
"end": "2023-12-25"
},
"autoRenewal": true,
"items": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"billAt": "2023-11-07T05:31:56Z",
"period": {
"start": "2023-12-25",
"end": "2023-12-25"
},
"quantity": 123,
"product": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"price": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
}
],
"createdAt": "2023-11-07T05:31:56Z"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}Headers
Configure which environment the request will handle. If the provided credentials do not allow access to this specified environment, a 403 Forbidden response is returned.
Body
Three-letter ISO currency code, in lowercase. Must be a supported currency (https://go.plude.io/h11101).
Id of the customer to subscribe.
Start of the current term of the subscription.
A description, meant to be displayable to the customer.
End of the current term of the subscription. If null the subscription is evergreen. At the end of term the subscription will automatically renew if 'autoRenewal' is set to true.
If true, the subscription will automatically renew at the end of the term. 'End' must be set.
A list of up to 20 subscription items, each with an attached price and product.
Show child attributes
Show child attributes
Set of key-value pairs that you can freely use to store additional information about your subscription.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
OK
Id of subscription.
A unique handle of the subscription.
Currency of the subscription.
"USD"
Show child attributes
Show child attributes
For termed subscription, auto renewal is optional and will automatically renew the subscription.
Items of the subscription.
Show child attributes
Show child attributes
Was this page helpful?

