API Reference
Plans
List active pricing plans for your tenant.
GET /plans/list
Retrieve a paginated list of active pricing plans for your tenant.
Base URL
https://cadence-api.pleasurebyplease.com
Request
GET https://cadence-api.pleasurebyplease.com/plans/list
Headers
X-Api-Key: {your-api-key}X-Api-Secret: {your-api-secret}
Query Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
page | number | No | Page number (default: 1) | 1 |
pageSize | number | No | Items per page, max 100 (default: 10) | 10 |
productReference | string | No | Filter by product reference code |
Response
| Field | Type | Description |
|---|---|---|
status | "success" | Operation result |
data | Plan[] | Array of plan objects |
data[].id | string | Internal plan UUID |
data[].segnoId | string | Internal Cadence plan identifier |
data[].referenceCode | string | Unique plan reference code |
data[].lookup_key | string | null | Stable lookup key for plan retrieval |
data[].name | string | Plan display name |
data[].price | string | Price amount |
data[].currencyCode | string | Currency code (TRY, USD, EUR) |
data[].paymentInterval | string | Billing interval (MONTHLY, WEEKLY, etc.) |
data[].paymentIntervalCount | number | Interval multiplier |
data[].trialPeriodDays | number | Trial period in days |
data[].unit | string | null | Unit count for bundled plans |
data[].productReference | string | null | Product reference code (iyzico) |
data[].planType | string | Plan type derived from product: PHYSICAL (with shipping) or DIGITAL |
data[].shippingPrice | string | null | Shipping cost for physical plans (included in total price) |
data[].gracePeriodDays | number | null | Grace period days after payment failure |
total | number | Total number of plans |
page | number | Current page |
pageSize | number | Items per page |
totalPages | number | Total number of pages |
Example Request
cURL
curl -X GET \
"https://cadence-api.pleasurebyplease.com/plans/list?page=1&pageSize=10" \
-H "X-Api-Key: {your-api-key}" \
-H "X-Api-Secret: {your-api-secret}"TypeScript
const response = await fetch(
'https://cadence-api.pleasurebyplease.com/plans/list?page=1&pageSize=10',
{
headers: {
'X-Api-Key': '{your-api-key}',
'X-Api-Secret': '{your-api-secret}',
},
}
);
const data: PlansListResponse = await response.json();
console.log(data.data); // Plan[]Node.js
const response = await fetch(
'https://cadence-api.pleasurebyplease.com/plans/list?page=1&pageSize=10',
{
headers: {
'X-Api-Key': '{your-api-key}',
'X-Api-Secret': '{your-api-secret}',
},
}
);
const data = await response.json();
console.log(data);PHP
<?php
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://cadence-api.pleasurebyplease.com/plans/list?page=1&pageSize=10',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-Api-Key: {your-api-key}',
'X-Api-Secret: {your-api-secret}'
]
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
print_r($data['data']);Go
package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET",
"https://cadence-api.pleasurebyplease.com/plans/list?page=1&pageSize=10", nil)
req.Header.Set("X-Api-Key", "{your-api-key}")
req.Header.Set("X-Api-Secret", "{your-api-secret}")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
}Ruby
require 'net/http'
require 'json'
uri = URI('https://cadence-api.pleasurebyplease.com/plans/list?page=1&pageSize=10')
request = Net::HTTP::Get.new(uri)
request['X-Api-Key'] = '{your-api-key}'
request['X-Api-Secret'] = '{your-api-secret}'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)
puts data['data']Python
import requests
response = requests.get(
'https://cadence-api.pleasurebyplease.com/plans/list',
params={'page': 1, 'pageSize': 10},
headers={
'X-Api-Key': '{your-api-key}',
'X-Api-Secret': '{your-api-secret}'
}
)
data = response.json()
print(data['data'])Example Response
{
"status": "success",
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"segnoId": "plan_id_8r2n3k1p",
"referenceCode": "plan_abc123",
"lookup_key": "pro-plan",
"name": "Pro Plan",
"price": "99.00",
"currencyCode": "TRY",
"paymentInterval": "MONTHLY",
"paymentIntervalCount": 1,
"trialPeriodDays": 14,
"unit": "1",
"productReference": "prod_xyz",
"planType": "DIGITAL",
"shippingPrice": null,
"gracePeriodDays": 7
},
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"segnoId": "plan_id_7b4x6d9m",
"referenceCode": "plan_xyz789",
"lookup_key": "physical-box",
"name": "Physical Box",
"price": "149.00",
"currencyCode": "TRY",
"paymentInterval": "MONTHLY",
"paymentIntervalCount": 1,
"trialPeriodDays": 0,
"unit": "1",
"productReference": "prod_abc",
"planType": "PHYSICAL",
"shippingPrice": "20.00",
"gracePeriodDays": null
}
],
"total": 2,
"page": 1,
"pageSize": 10,
"totalPages": 1
}