Skip to content

Subscription History

Returns history of all user's subscriptions with pagination and status filtering support.

POST /v1/subscriptions/history

Request

All parameters are optional. If parameters are not specified, returns the first page with 10 items.

Request Parameters

FieldTypeRequiredDescription
pageintegerNoPage number (default: 1, minimum: 1)
per_pageintegerNoItems per page (default: 10, maximum: 50)
statusstringNoFilter by subscription status
bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{
  "page": 1,
  "per_page": 10,
  "status": "active"
}'

# Calculate signature
SIGNATURE=$(echo -n "${REQUEST_BODY}${API_SECRET}" | sha256sum | cut -d' ' -f1)

# Execute API request
curl -X POST "https://api.tronzap.com/v1/subscriptions/history" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "X-Signature: ${SIGNATURE}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}"
javascript
const crypto = require('crypto');
const axios = require('axios');

const apiToken = 'your_api_token';
const apiSecret = 'your_api_secret';
const requestBody = JSON.stringify({
  page: 1,
  per_page: 10,
  status: 'active'
});

// Calculate signature
const signature = crypto
  .createHash('sha256')
  .update(requestBody + apiSecret)
  .digest('hex');

// Execute API request
axios({
  method: 'post',
  url: 'https://api.tronzap.com/v1/subscriptions/history',
  headers: {
    'Authorization': `Bearer ${apiToken}`,
    'X-Signature': signature,
    'Content-Type': 'application/json'
  },
  data: requestBody
})
.then(response => console.log(response.data))
.catch(error => console.error(error));
php
<?php
$apiToken = 'your_api_token';
$apiSecret = 'your_api_secret';
$requestBody = json_encode([
  'page' => 1,
  'per_page' => 10,
  'status' => 'active'
]);

// Calculate signature
$signature = hash('sha256', $requestBody . $apiSecret);

// Execute API request
$ch = curl_init('https://api.tronzap.com/v1/subscriptions/history');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $requestBody);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
  'Authorization: Bearer ' . $apiToken,
  'X-Signature: ' . $signature,
  'Content-Type: application/json'
]);

$response = curl_exec($ch);
curl_close($ch);

echo $response;
?>
python
import hashlib
import json
import requests

api_token = 'your_api_token'
api_secret = 'your_api_secret'
request_body = json.dumps({
  'page': 1,
  'per_page': 10,
  'status': 'active'
})

# Calculate signature
signature = hashlib.sha256((request_body + api_secret).encode()).hexdigest()

# Execute API request
headers = {
  'Authorization': f'Bearer {api_token}',
  'X-Signature': signature,
  'Content-Type': 'application/json'
}

response = requests.post(
  'https://api.tronzap.com/v1/subscriptions/history',
  headers=headers,
  data=request_body
)

print(response.json())

Example request without parameters

bash
#!/bin/bash
API_TOKEN="your_api_token"
API_SECRET="your_api_secret"
REQUEST_BODY='{}'

# Calculate signature
SIGNATURE=$(echo -n "${REQUEST_BODY}${API_SECRET}" | sha256sum | cut -d' ' -f1)

# Execute API request
curl -X POST "https://api.tronzap.com/v1/subscriptions/history" \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "X-Signature: ${SIGNATURE}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}"

Response

Response contains a list of user's subscriptions with pagination information.

Response Fields

FieldTypeDescription
codeintegerResponse code (0 = success)
resultobjectResponse data
result.pageintegerCurrent page
result.per_pageintegerItems per page
result.totalintegerTotal number of subscriptions
result.itemsarrayList of subscriptions
result.items[].idstringSubscription ID
result.items[].statusstringSubscription status
result.items[].subscription_idstringSubscription type ID
result.items[].addressstringTRON address
result.items[].transactions_limitintegerTransaction limit
result.items[].transactions_usedintegerUsed transactions
result.items[].energy_usedintegerUsed energy
result.items[].total_pricefloatTotal cost
result.items[].started_atstringStart date (ISO 8601 format)
result.items[].renewed_atstringRenewal date (ISO 8601 format)
result.items[].stopped_atstringStop date (ISO 8601 format)
result.items[].expire_atstringExpiration date (ISO 8601 format)
result.items[].created_atstringCreation date (ISO 8601 format)

Response Example

json
{
  "code": 0,
  "result": {
    "page": 1,
    "per_page": 10,
    "total": 1,
    "items": [
      {
        "id": "01k33rz57drtqgqcedyn9tvk04",
        "status": "active",
        "subscription_id": "unlimited_energy",
        "address": "TPY1Kb8cKAZQfm95gXQQs2Mh8Uygtos21D",
        "transactions_limit": 0,
        "transactions_used": 2,
        "energy_used": 131000,
        "total_price": "8.00",
        "started_at": "2025-08-20T12:58:52+00:00",
        "renewed_at": null,
        "stopped_at": null,
        "expire_at": "2025-08-21T12:58:52+00:00",
        "created_at": "2025-08-20T12:58:52+00:00"
      },
      {
        "id": "01k36gw6cbfx4r8jhvd1qyp697",
        "status": "stopped",
        "subscription_id": "energy_pay_per_use",
        "address": "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t",
        "transactions_limit": 100,
        "transactions_used": 45,
        "energy_used": 2991000,
        "total_price": 184.0,
        "started_at": "2024-02-15T10:30:00Z",
        "renewed_at": null,
        "stopped_at": "2024-03-20T14:25:00Z",
        "expire_at": null,
        "created_at": "2024-02-15T10:25:00Z"
      }
    ]
  }
}

Possible subscription statuses

StatusDescription
newNew subscription
pendingPending subscription
errorError subscription
activeActive subscription
stoppedStopped subscription
expiredExpired subscription

Possible Errors

Error CodeDescription
1Authentication error (invalid token or signature)
2Invalid service or parameters
500Internal server error

Tron Energy API Documentation