Skip to content
TriedDocs
Account

Charge concurrency billing

Charge the current month's purchased concurrency slots to the credit balance now.

POSThttps://api.tried.com.au/concurrency-billing/charge

Charges the purchased concurrency slots for the current month (UTC) straight away instead of waiting for the hourly billing run. The charge is idempotent per month: if the limit grew since the last charge, only the new slots are charged, and a repeat call in the same month charges nothing.

Request#

This endpoint takes no path, query or body parameters.

Example request#

curl -X POST https://api.tried.com.au/concurrency-billing/charge \
  -H "Authorization: Bearer $TRIED_API_KEY"
const res = await fetch("https://api.tried.com.au/concurrency-billing/charge", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.TRIED_API_KEY}` },
});
const result = await res.json();
import os, requests

res = requests.post(
    "https://api.tried.com.au/concurrency-billing/charge",
    headers={"Authorization": f"Bearer {os.environ['TRIED_API_KEY']}"},
)
result = res.json()

Response#

200 OK

{
  "month": "2026-10",
  "purchased": 10,
  "charged_slots": 4,
  "amount": 32
}
Field Type Description
month string Billing month in YYYY-MM form (UTC).
purchased integer Slots above the included concurrency.
charged_slots integer Slots charged by this call. 0 when the month is already paid for.
amount number AUD taken from the credit balance by this call (charged_slots * 12). 0 when nothing was charged.

Errors#

Status When
401 Missing or invalid API key.
403 The key's IP allowlist or scopes reject the request (this route needs the admin scope), or a dashboard user without the admin role calls it (Requires role: admin).
429 Rate limit exceeded. See Rate limits.

See Errors for the body format.