Add seats
curl --request POST \
--url https://staging-api.usetyms.com/v1/adam/referred-businesses/{business_uuid}/add-seats \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"seats": 3,
"months": 1
}
'import requests
url = "https://staging-api.usetyms.com/v1/adam/referred-businesses/{business_uuid}/add-seats"
payload = {
"seats": 3,
"months": 1
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({seats: 3, months: 1})
};
fetch('https://staging-api.usetyms.com/v1/adam/referred-businesses/{business_uuid}/add-seats', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "success",
"message": "Plus seats granted successfully.",
"data": {
"allocation": {
"uuid": "f8e2a1b0c3d4",
"allocation_type": "seats",
"quantity": 450,
"seats": 3,
"months": 1,
"prorated": false,
"resulting_seats": 3,
"subscription_reference": "partner_alloc_9c4f2a",
"subscription_expires_at": "2026-08-09T02:00:00.000000Z",
"meta": {
"holding_credits_charged": 450,
"credits_granted": 450
}
},
"holding_credits_charged": 450,
"partner_holding_balance": 9550,
"subscription_expires_at": "2026-08-09T02:00:00.000000Z",
"transaction_credits_granted": 450
}
}{
"status": "failed",
"message": "<string>"
}{
"status": "failed",
"message": "<string>"
}{
"status": "failed",
"message": "Insufficient partner credit holding.",
"error_code": "insufficient_partner_credit_holding"
}{
"status": "failed",
"message": "<string>"
}{
"status": "failed",
"message": "<string>"
}{
"status": "failed",
"message": "<string>"
}Distribution Partners
Add seats
Grant Plus seats from partner holding. First call activates Plus for the requested period; later calls add prorated seats for the remaining period.
POST
/
referred-businesses
/
{business_uuid}
/
add-seats
Add seats
curl --request POST \
--url https://staging-api.usetyms.com/v1/adam/referred-businesses/{business_uuid}/add-seats \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"seats": 3,
"months": 1
}
'import requests
url = "https://staging-api.usetyms.com/v1/adam/referred-businesses/{business_uuid}/add-seats"
payload = {
"seats": 3,
"months": 1
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({seats: 3, months: 1})
};
fetch('https://staging-api.usetyms.com/v1/adam/referred-businesses/{business_uuid}/add-seats', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"status": "success",
"message": "Plus seats granted successfully.",
"data": {
"allocation": {
"uuid": "f8e2a1b0c3d4",
"allocation_type": "seats",
"quantity": 450,
"seats": 3,
"months": 1,
"prorated": false,
"resulting_seats": 3,
"subscription_reference": "partner_alloc_9c4f2a",
"subscription_expires_at": "2026-08-09T02:00:00.000000Z",
"meta": {
"holding_credits_charged": 450,
"credits_granted": 450
}
},
"holding_credits_charged": 450,
"partner_holding_balance": 9550,
"subscription_expires_at": "2026-08-09T02:00:00.000000Z",
"transaction_credits_granted": 450
}
}{
"status": "failed",
"message": "<string>"
}{
"status": "failed",
"message": "<string>"
}{
"status": "failed",
"message": "Insufficient partner credit holding.",
"error_code": "insufficient_partner_credit_holding"
}{
"status": "failed",
"message": "<string>"
}{
"status": "failed",
"message": "<string>"
}{
"status": "failed",
"message": "<string>"
}Requires
credit_from_referral_partner: false at registration. Holding cost: 150 × seats × months on first grant (default 150 credits per seat per month). Adding seats mid-period is prorated. Fails if the business already has its own active Plus subscription.Authorizations
Business secret tyms_sk_... for business-scoped routes. Partner secret for register-business and referred-business distributor routes.
Path Parameters
Body
application/json
Response
Seats granted
Example:
"success"
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Available options:
seats, credits Holding credits charged (rounded up).
⌘I