BizKitHub
DocsAPI ReferenceTariff/bff/tariff/current
getTariffAdmin BFF

/bff/tariff/current

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.

TariffgetBffTariffCurrent

Parameters

No parameters required

This endpoint takes no path, query, header or body parameters.

Response schema

1 status code documented

200Success
organisationIdnumberRequired

Organisation the report belongs to.

tariffobjectRequired
idnumberRequired

Tariff ID in cas__tariff.

codestringRequired

Tariff code (free, startup, business, enterprise).

namestringRequired

Display name (falls back to code).

positionnumberRequired

Display order on the pricing page.

monthlyPriceCzknumberRequired

Catalogue monthly price in WHOLE CZK without VAT.

priceFrombooleanRequired

True when monthlyPriceCzk is "od" (Enterprise) — the real price is negotiated per org.

requiresCustomPricebooleanRequired

True for plans where every organisation MUST have customPriceCzk set (Enterprise). When true and billing.customPriceCzk is null, validation.customPriceMissing will be true.

minCustomPriceCzknumberRequired

Minimum allowed value for customPriceCzk when requiresCustomPrice is true. 0 for fixed plans.

commissionobjectRequired

Salesperson commission rule from the catalogue.

mode"flat" | "percent" | "none"Required

Which catalogue commission rule applies.

flatCzknumberRequired

Flat commission per sale in CZK (mode=flat).

percentnumberRequired

Percentage commission of the actual paid price (mode=percent), 0–100.

billingIntervalstring | nullRequired

Linked product subscription interval (e.g. 1m).

One of 2:
Variant 1
string
Variant 2
null
billingobjectRequired

Per-organisation billing block — everything that may differ from the catalogue. Modify via POST /tariff/set-billing.

effectivePriceCzknumberRequired

Final monthly price the org actually pays, in WHOLE CZK. Equal to customPriceCzk when set, otherwise catalogueMonthlyPriceCzk minus discountPercent.

catalogueMonthlyPriceCzknumberRequired

Same as tariff.monthlyPriceCzk — included for convenience.

customPriceCzknumber | nullRequired

Negotiated monthly price in CZK. NULL = use catalogue minus discount. REQUIRED for Enterprise — use POST /tariff/set-billing to set it.

One of 2:
Variant 1
number
Variant 2
null
discountPercentnumberRequired

Discount on top of catalogue price (0–100). Ignored when customPriceCzk is set.

activeFromstring | nullRequired

When the current assignment started.

One of 2:
Variant 1
string
Variant 2
null
activeTostring | nullRequired

Same as paidUntil — duplicated for back-compat.

One of 2:
Variant 1
string
Variant 2
null
paidUntilstring | nullRequired

Subscription paid-until date. After this timestamp the assignment is treated as expired and must be renewed (or auto-renewed at customPriceCzk / catalogue price).

One of 2:
Variant 1
string
Variant 2
null
daysUntilExpirynumber | nullRequired

Whole days until paidUntil. Negative = already expired. NULL when paidUntil is unset.

One of 2:
Variant 1
number
Variant 2
null
isExpiredbooleanRequired

Convenience flag = paidUntil < now.

expiringSoonbooleanRequired

True when not expired and daysUntilExpiry ≤ 14. Drives the warning badge.

notestring | nullRequired

Free-form admin note attached to the assignment (e.g. "VIP customer", contract reference).

One of 2:
Variant 1
string
Variant 2
null
salespersonobject | nullRequired

Salesperson snapshot. NULL = self-service / no salesperson recorded.

One of 2:
Variant 1
userIdnumberRequired

cas__user(id) of the BizKitHub staff member who closed the deal.

usernamestring | nullRequired

Salesperson username.

One of 2:
Variant 1
string
Variant 2
null
lockedCommissionCzknumber | nullRequired

Snapshot of the commission owed for this assignment, in CZK.

One of 2:
Variant 1
number
Variant 2
null
Variant 2
null
vendorobject | nullRequired

The 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).

One of 2:
Variant 1
organisationobjectRequired
idnumberRequired

Vendor (parent) organisation id.

slugstringRequired

Vendor slug.

namestringRequired

Vendor display name (e.g. "7 nápadů s.r.o.").

emojistring | nullRequired
One of 2:
Variant 1
string
Variant 2
null
descriptionstring | nullRequired
One of 2:
Variant 1
string
Variant 2
null
whiteLabelLicenceIdstringRequired

16-character white-label licence id of the vendor.

contactPersonobject | nullRequired

Vendor's nominated contact person (vendor.support_person_id).

One of 2:
Variant 1
memberIdnumberRequired
firstNamestring | nullRequired
One of 2:
Variant 1
string
Variant 2
null
lastNamestring | nullRequired
One of 2:
Variant 1
string
Variant 2
null
Variant 2
null
contactEmailstring | nullRequired

Email address customers should write to. Resolved as: vendor's default_send_from_email → contact person login username → null.

One of 2:
Variant 1
string
Variant 2
null
myTariffobjectRequired
idnumberRequired
codestringRequired
namestringRequired
monthlyPriceCzknumberRequired

Final monthly price in CZK that the customer pays.

priceFrombooleanRequired
customPriceCzknumber | nullRequired
One of 2:
Variant 1
number
Variant 2
null
discountPercentnumberRequired
expiresAtstring | nullRequired
One of 2:
Variant 1
string
Variant 2
null
daysUntilExpirynumber | nullRequired
One of 2:
Variant 1
number
Variant 2
null
isExpiredbooleanRequired
Variant 2
null
validationobjectRequired

State flags for admin UI badges. None of these throw — they describe configuration status.

requiresCustomPricebooleanRequired

Mirror of tariff.requiresCustomPrice.

minCustomPriceCzknumberRequired

Mirror of tariff.minCustomPriceCzk.

customPriceMissingbooleanRequired

TRUE when the tariff requires a custom price and none is set. Admin UI should block billing operations and show a "Set price first" CTA.

customPriceBelowMinimumbooleanRequired

TRUE when customPriceCzk is below minCustomPriceCzk (data drift / manual edit).

paidUntilMissingbooleanRequired

TRUE when no paidUntil is set. Encourage admin to fill it for predictable renewals.

expiredbooleanRequired

Same as billing.isExpired.

expiringSoonbooleanRequired

Same as billing.expiringSoon.

periodobjectRequired

Current calendar-month window. All monthly_event counters reset on start.

startstringRequired

Period start (first day of current calendar month, UTC).

endstringRequired

Period end (first day of next calendar month, UTC, exclusive).

daysElapsednumberRequired

Days elapsed since start, including today (1..daysTotal).

daysTotalnumberRequired

Total days in the current period.

elapsedFractionnumberRequired

daysElapsed / daysTotal, rounded to 3 decimals — used for end-of-month projections.

resourcesobject[]Required

Per-metric breakdown ordered roughly by importance (products → orders → storage → AI → API → emails → members → …).

Each array item:
keystringRequired

Stable 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"Required

running_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.

unitstringRequired

Display unit (orders, MB, tokens, requests, emails, members, …).

usednumberRequired

Current usage in unit.

limitnumberRequired

Tariff cap. 0 = unlimited.

unlimitedbooleanRequired

Convenience flag = limit === 0.

percentnumberRequired

used / limit * 100, rounded to 1 decimal. 0 when unlimited.

projectedAtPeriodEndnumber | nullRequired

For monthly_event resources only: linear extrapolation of used to the end of the period at the current burn rate. null for running_total.

One of 2:
Variant 1
number
Variant 2
null
status"unlimited" | "ok" | "warn" | "critical" | "over"Required

Severity bucket: unlimited | ok (<80%) | warn (≥80%) | critical (≥95%) | over (≥100%). Drives badge colour in admin UI.

sourcestringRequired

Origin of the value (table.column or live COUNT) — for debugging.

historyobjectRequired

Historical monthly usage from cas__organisation_usage_monthly.

monthlyobject[]Required

Last 12 months of monthly counters, newest first. Months with no recorded usage are returned with zeros (gaps filled).

Each array item:
periodStartstringRequired

First day of the month, ISO date (YYYY-MM-01).

ordersCountnumberRequired

New orders created in the month.

emailsCountnumberRequired

Transactional emails sent + received in the month.

aiTokensCountnumberRequired

AI tokens consumed in the month.

apiRequestsCountnumberRequired

Authenticated public API requests in the month.

totalsobjectRequired

Sums across the returned history window. Useful for "last 12 months" headlines.

ordersnumberRequired
emailsnumberRequired
aiTokensnumberRequired
apiRequestsnumberRequired

Response example

application/json
{
  "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
    }
  }
}

Request example

GET /bff/tariff/current

get
curl -X GET "https://api.bizkithub.com/bff/tariff/current" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY"

Need an API key?

All BizKitHub public API endpoints require authentication via API key.

Get API Key