Skip to main content
POST
/
leagues
/
{identifier}
/
cooldowns
/
issue
curl -X POST https://teambattles.gg/api/v1/leagues/my-league/cooldowns/issue \
  -H "Authorization: Bearer tb_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"userId": "jh7user123", "cooldownHours": 48, "note": "Toxicity report"}'
{
  "success": true,
  "cooldownId": "<string>",
  "timestamp": "<string>"
}

Permission Required

This endpoint requires a league-operator API key bound to this league with the cooldowns league capability, plus the leagueOperatorApi plan feature (api_pro or higher). A free key receives 403 error_api_feature_required.

Access / Membership Rules

You must have a MANAGER or higher role in the league (or be a TeamBattles staff member) to issue a cooldown. If you lack the required access, you’ll receive a 403 error. The {identifier} path parameter is the league slug - the URL-friendly league name (e.g., my-league).

What’s Returned

Issues or updates a manual cooldown for a league member. On success the response is { "success": true, "cooldownId": "<id>", "timestamp": "<ISO 8601>" }.

Request Body

ParameterTypeRequiredDescription
userIdstringYesUser ID receiving the cooldown.
cooldownHoursnumberYesCooldown length in hours, from 1 to 8760 (integer).
notestringNoOptional admin note (up to 500 characters).
curl -X POST https://teambattles.gg/api/v1/leagues/my-league/cooldowns/issue \
  -H "Authorization: Bearer tb_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{"userId": "jh7user123", "cooldownHours": 48, "note": "Toxicity report"}'

Authorizations

Authorization
string
header
required

Send your API key as: Authorization: Bearer tb_

Path Parameters

identifier
string
required

League slug or Convex league ID.

Body

application/json

Issues or updates a manual league member cooldown.

userId
string
required

User ID receiving the cooldown.

Minimum string length: 1
cooldownHours
integer
required

Cooldown length in hours, from 1 to 8760.

Required range: 1 <= x <= 8760
note
string

Optional admin note.

Maximum string length: 500

Response

The league cooldown was issued.

success
boolean
required
cooldownId
string
required

League member cooldown ID.

timestamp
string
required

Response generation time (ISO 8601).