curl -X POST https://api.infinipost.co/v1/partners/refund \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"accountId": "acc_9n2x7yp0dg",
"reason": "Account was shadowbanned"
}'
const response = await fetch('https://api.infinipost.co/v1/partners/refund', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
accountId: 'acc_9n2x7yp0dg',
reason: 'Account was shadowbanned'
})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.infinipost.co/v1/partners/refund',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'accountId': 'acc_9n2x7yp0dg',
'reason': 'Account was shadowbanned'
}
)
print(response.json())
{
"success": true,
"refundId": "re_1234567890abcdef"
}
Partners
Refund Account
Issue a full refund and cancel the subscription for a TikTok account
POST
/
v1
/
partners
/
refund
curl -X POST https://api.infinipost.co/v1/partners/refund \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"accountId": "acc_9n2x7yp0dg",
"reason": "Account was shadowbanned"
}'
const response = await fetch('https://api.infinipost.co/v1/partners/refund', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
accountId: 'acc_9n2x7yp0dg',
reason: 'Account was shadowbanned'
})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.infinipost.co/v1/partners/refund',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'accountId': 'acc_9n2x7yp0dg',
'reason': 'Account was shadowbanned'
}
)
print(response.json())
{
"success": true,
"refundId": "re_1234567890abcdef"
}
Request Body
string
required
The unique account ID to refund. Retrieve this from the Get Accounts endpoint.
string
Optional reason for the refund request (e.g., “Shadowban”, “Service issue”).
Response
boolean
Returns
true if the refund was successfully issued.string
The Stripe refund ID for reference.
curl -X POST https://api.infinipost.co/v1/partners/refund \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"accountId": "acc_9n2x7yp0dg",
"reason": "Account was shadowbanned"
}'
const response = await fetch('https://api.infinipost.co/v1/partners/refund', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
accountId: 'acc_9n2x7yp0dg',
reason: 'Account was shadowbanned'
})
});
const data = await response.json();
import requests
response = requests.post(
'https://api.infinipost.co/v1/partners/refund',
headers={
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
json={
'accountId': 'acc_9n2x7yp0dg',
'reason': 'Account was shadowbanned'
}
)
print(response.json())
{
"success": true,
"refundId": "re_1234567890abcdef"
}
Refund Details
- A full refund is issued for the most recent billing period
- The subscription is cancelled immediately
- The account status is updated to
cancelled
This action is irreversible. Once a refund is issued the subscription is cancelled and cannot be reactivated. Use the Replace Account endpoint if the user needs a new account instead.
Error Responses
Invalid API Key
{
"error": "This API key does not have partner access"
}
Missing Required Fields
{
"error": "accountId is required"
}
Account Not Found
{
"error": "Account not found"
}
Already Refunded
{
"error": "This account has already been refunded"
}
No Charge Found
{
"error": "No charge found to refund"
}