Parameters
No parameters required
This endpoint takes no path, query, header or body parameters.
Comprehensive tariff & usage report for the calling organisation. Returns tariff metadata (catalogue + per-org override + computed effective price), salesperson assignment, the current calendar-month period window, per-resource usage with limit/percent/projection/status, and the last 12 months of monthly usage counters (with gaps filled). Designed as the single source for the admin "Tariff & usage" screen.
No parameters required
This endpoint takes no path, query, header or body parameters.
1 status code documented
organisationIdnumberRequiredOrganisation the report belongs to.
tariffobjectRequiredidnumberRequiredTariff ID in cas__tariff.
codestringRequiredTariff code (free, startup, business, enterprise).
namestringRequiredDisplay name (falls back to code).
positionnumberRequiredDisplay order on the pricing page.
monthlyPriceCzknumberRequiredCatalogue monthly price in WHOLE CZK without VAT.
priceFrombooleanRequiredTrue when monthlyPriceCzk is "od" (Enterprise) — the real price is negotiated per org.
requiresCustomPricebooleanRequiredTrue for plans where every organisation MUST have customPriceCzk set (Enterprise). When true and billing.customPriceCzk is null, validation.customPriceMissing will be true.
minCustomPriceCzknumberRequiredMinimum allowed value for customPriceCzk when requiresCustomPrice is true. 0 for fixed plans.
commissionobjectRequiredSalesperson commission rule from the catalogue.
mode"flat" | "percent" | "none"RequiredWhich catalogue commission rule applies.
flatCzknumberRequiredFlat commission per sale in CZK (mode=flat).
percentnumberRequiredPercentage commission of the actual paid price (mode=percent), 0–100.
billingIntervalstring | nullRequiredLinked product subscription interval (e.g. 1m).
billingobjectRequiredPer-organisation billing block — everything that may differ from the catalogue. Modify via POST /tariff/set-billing.
effectivePriceCzknumberRequiredFinal monthly price the org actually pays, in WHOLE CZK. Equal to customPriceCzk when set, otherwise catalogueMonthlyPriceCzk minus discountPercent.
catalogueMonthlyPriceCzknumberRequiredSame as tariff.monthlyPriceCzk — included for convenience.
customPriceCzknumber | nullRequiredNegotiated monthly price in CZK. NULL = use catalogue minus discount. REQUIRED for Enterprise — use POST /tariff/set-billing to set it.
discountPercentnumberRequiredDiscount on top of catalogue price (0–100). Ignored when customPriceCzk is set.
activeFromstring | nullRequiredWhen the current assignment started.
activeTostring | nullRequiredSame as paidUntil — duplicated for back-compat.
paidUntilstring | nullRequiredSubscription paid-until date. After this timestamp the assignment is treated as expired and must be renewed (or auto-renewed at customPriceCzk / catalogue price).
daysUntilExpirynumber | nullRequiredWhole days until paidUntil. Negative = already expired. NULL when paidUntil is unset.
isExpiredbooleanRequiredConvenience flag = paidUntil < now.
expiringSoonbooleanRequiredTrue when not expired and daysUntilExpiry ≤ 14. Drives the warning badge.
notestring | nullRequiredFree-form admin note attached to the assignment (e.g. "VIP customer", contract reference).
salespersonobject | nullRequiredSalesperson snapshot. NULL = self-service / no salesperson recorded.
userIdnumberRequiredcas__user(id) of the BizKitHub staff member who closed the deal.
usernamestring | nullRequiredSalesperson username.
lockedCommissionCzknumber | nullRequiredSnapshot of the commission owed for this assignment, in CZK.
vendorobject | nullRequiredThe white-label partner organisation that manages this org. Returned only when parent_id is set AND the parent holds an active cas__white_label_licence row. NULL otherwise (sold directly by us, or licence revoked).
organisationobjectRequiredidnumberRequiredVendor (parent) organisation id.
slugstringRequiredVendor slug.
namestringRequiredVendor display name (e.g. "7 nápadů s.r.o.").
emojistring | nullRequireddescriptionstring | nullRequiredwhiteLabelLicenceIdstringRequired16-character white-label licence id of the vendor.
contactPersonobject | nullRequiredVendor's nominated contact person (vendor.support_person_id).
memberIdnumberRequiredfirstNamestring | nullRequiredlastNamestring | nullRequiredcontactEmailstring | nullRequiredEmail address customers should write to. Resolved as: vendor's default_send_from_email → contact person login username → null.
myTariffobjectRequiredidnumberRequiredcodestringRequirednamestringRequiredmonthlyPriceCzknumberRequiredFinal monthly price in CZK that the customer pays.
priceFrombooleanRequiredcustomPriceCzknumber | nullRequireddiscountPercentnumberRequiredexpiresAtstring | nullRequireddaysUntilExpirynumber | nullRequiredisExpiredbooleanRequiredvalidationobjectRequiredState flags for admin UI badges. None of these throw — they describe configuration status.
requiresCustomPricebooleanRequiredMirror of tariff.requiresCustomPrice.
minCustomPriceCzknumberRequiredMirror of tariff.minCustomPriceCzk.
customPriceMissingbooleanRequiredTRUE when the tariff requires a custom price and none is set. Admin UI should block billing operations and show a "Set price first" CTA.
customPriceBelowMinimumbooleanRequiredTRUE when customPriceCzk is below minCustomPriceCzk (data drift / manual edit).
paidUntilMissingbooleanRequiredTRUE when no paidUntil is set. Encourage admin to fill it for predictable renewals.
expiredbooleanRequiredSame as billing.isExpired.
expiringSoonbooleanRequiredSame as billing.expiringSoon.
periodobjectRequiredCurrent calendar-month window. All monthly_event counters reset on start.
startstringRequiredPeriod start (first day of current calendar month, UTC).
endstringRequiredPeriod end (first day of next calendar month, UTC, exclusive).
daysElapsednumberRequiredDays elapsed since start, including today (1..daysTotal).
daysTotalnumberRequiredTotal days in the current period.
elapsedFractionnumberRequireddaysElapsed / daysTotal, rounded to 3 decimals — used for end-of-month projections.
resourcesobject[]RequiredPer-metric breakdown ordered roughly by importance (products → orders → storage → AI → API → emails → members → …).
keystringRequiredStable machine key. One of: products, orders_monthly, storage_mb, ai_tokens_monthly, api_requests_monthly, emails_monthly, members, customers, forms.
kind"running_total" | "monthly_event"Requiredrunning_total = current snapshot count (e.g. members in the org). monthly_event = events that accumulate in the current calendar month and reset on the 1st.
unitstringRequiredDisplay unit (orders, MB, tokens, requests, emails, members, …).
usednumberRequiredCurrent usage in unit.
limitnumberRequiredTariff cap. 0 = unlimited.
unlimitedbooleanRequiredConvenience flag = limit === 0.
percentnumberRequiredused / limit * 100, rounded to 1 decimal. 0 when unlimited.
projectedAtPeriodEndnumber | nullRequiredFor monthly_event resources only: linear extrapolation of used to the end of the period at the current burn rate. null for running_total.
status"unlimited" | "ok" | "warn" | "critical" | "over"RequiredSeverity bucket: unlimited | ok (<80%) | warn (≥80%) | critical (≥95%) | over (≥100%). Drives badge colour in admin UI.
sourcestringRequiredOrigin of the value (table.column or live COUNT) — for debugging.
historyobjectRequiredHistorical monthly usage from cas__organisation_usage_monthly.
monthlyobject[]RequiredLast 12 months of monthly counters, newest first. Months with no recorded usage are returned with zeros (gaps filled).
periodStartstringRequiredFirst day of the month, ISO date (YYYY-MM-01).
ordersCountnumberRequiredNew orders created in the month.
emailsCountnumberRequiredTransactional emails sent + received in the month.
aiTokensCountnumberRequiredAI tokens consumed in the month.
apiRequestsCountnumberRequiredAuthenticated public API requests in the month.
totalsobjectRequiredSums across the returned history window. Useful for "last 12 months" headlines.
ordersnumberRequiredemailsnumberRequiredaiTokensnumberRequiredapiRequestsnumberRequired{
"organisationId": 0,
"tariff": {
"id": 0,
"code": "example_code",
"name": "example_name",
"position": 0,
"monthlyPriceCzk": 0,
"priceFrom": false,
"requiresCustomPrice": false,
"minCustomPriceCzk": 0,
"commission": {
"flatCzk": 0,
"percent": 0
}
},
"billing": {
"effectivePriceCzk": 0,
"catalogueMonthlyPriceCzk": 0,
"discountPercent": 0,
"isExpired": false,
"expiringSoon": false
},
"validation": {
"requiresCustomPrice": false,
"minCustomPriceCzk": 0,
"customPriceMissing": false,
"customPriceBelowMinimum": false,
"paidUntilMissing": false,
"expired": false,
"expiringSoon": false
},
"period": {
"start": "example_start",
"end": "example_end",
"daysElapsed": 0,
"daysTotal": 0,
"elapsedFraction": 0
},
"resources": [
{
"key": "example_key",
"unit": "example_unit",
"used": 0,
"limit": 0,
"unlimited": false,
"percent": 0,
"source": "example_source"
}
],
"history": {
"monthly": [
{
"periodStart": "example_periodStart",
"ordersCount": 0,
"emailsCount": 0,
"aiTokensCount": 0,
"apiRequestsCount": 0
}
],
"totals": {
"orders": 0,
"emails": 0,
"aiTokens": 0,
"apiRequests": 0
}
}
}GET /bff/tariff/current
curl -X GET "https://api.bizkithub.com/bff/tariff/current" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY"All BizKitHub public API endpoints require authentication via API key.