Skip to main content
POST
/
referred-businesses
/
{business_uuid}
/
add-seats
Add seats
curl --request POST \
  --url https://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://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://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

X-API-Key
string
header
default:your_tyms_sk_or_partner_key
required

Business secret tyms_sk_... for business-scoped routes. Partner secret for register-business and referred-business distributor routes.

Path Parameters

business_uuid
string
required

Body

application/json
seats
integer
required

Plus seats to grant, or add when a partner grant is already active.

Required range: 1 <= x <= 500
months
integer
default:1

Length of the Plus period. Used on the first grant only; ignored when adding seats mid-period (remaining time is prorated).

Required range: 1 <= x <= 24

Response

Seats granted

status
string
Example:

"success"

message
string
data
object