Buy the next period for an app
curl --request POST \
--url https://api.storiza.store/apps/{id}/renew \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"method": "balance",
"currency": "<string>",
"couponCode": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({method: 'balance', currency: '<string>', couponCode: '<string>'})
};
fetch('https://api.storiza.store/apps/{id}/renew', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.storiza.store/apps/{id}/renew"
payload = {
"method": "balance",
"currency": "<string>",
"couponCode": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"success": true,
"message": "App renewal created successfully",
"data": {
"id": 1042,
"type": "topup",
"status": "pending",
"direction": "deposit",
"method": "credit-cards",
"provider": "polar",
"currency": null,
"conversionRate": "1",
"subtotalAmount": "100",
"discountAmount": "10",
"netAmount": "90",
"taxAmount": "0",
"totalAmount": "90",
"user": {
"id": "00000000-0000-4000-8000-000000000000"
},
"coupon": null,
"supportsIframes": false,
"applePaySession": null,
"expiresAt": "2026-10-09T15:57:33.916Z"
}
}Apps
Buy the next period for an app
Extends the app’s subscription by one more period, priced from its plan by the same duration rules the original order used. Paying from balance settles immediately; any other method returns a checkout to complete.
Refused while a renewal raised in the last few minutes is still running, so the same period cannot be bought twice.
Required API key permission: apps:write
POST
/
apps
/
{id}
/
renew
Buy the next period for an app
curl --request POST \
--url https://api.storiza.store/apps/{id}/renew \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"method": "balance",
"currency": "<string>",
"couponCode": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({method: 'balance', currency: '<string>', couponCode: '<string>'})
};
fetch('https://api.storiza.store/apps/{id}/renew', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.storiza.store/apps/{id}/renew"
payload = {
"method": "balance",
"currency": "<string>",
"couponCode": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"success": true,
"message": "App renewal created successfully",
"data": {
"id": 1042,
"type": "topup",
"status": "pending",
"direction": "deposit",
"method": "credit-cards",
"provider": "polar",
"currency": null,
"conversionRate": "1",
"subtotalAmount": "100",
"discountAmount": "10",
"netAmount": "90",
"taxAmount": "0",
"totalAmount": "90",
"user": {
"id": "00000000-0000-4000-8000-000000000000"
},
"coupon": null,
"supportsIframes": false,
"applePaySession": null,
"expiresAt": "2026-10-09T15:57:33.916Z"
}
}Authorizations
An API key from the Storiza dashboard (API & Integrations), sent as Authorization: Bearer stz_….
Path Parameters
Minimum string length:
1Body
application/json
Response
App renewal created successfully
Available options:
true Available options:
App renewal created successfully Schema for Transaction model
Show child attributes
Show child attributes
Example:
{
"id": 1042,
"type": "topup",
"status": "pending",
"direction": "deposit",
"method": "credit-cards",
"provider": "polar",
"currency": null,
"conversionRate": "1",
"subtotalAmount": "100",
"discountAmount": "10",
"netAmount": "90",
"taxAmount": "0",
"totalAmount": "90",
"user": {
"id": "00000000-0000-4000-8000-000000000000"
},
"coupon": null,
"supportsIframes": false,
"applePaySession": null,
"expiresAt": "2026-10-09T15:57:33.916Z"
}
Was this page helpful?