Parameters
No parameters required
This endpoint takes no path, query, header or body parameters.
Aggregated counters powering the "Překlady" tab: default locale, enabled locales, live-post total, per-locale coverage (fresh vs. stale vs. missing vs. partial-by-length), canonical-route counts + orphaned-route indicator, and history coverage. stale uses the content__post_locale.source_history_id → content__post_history.id invariant introduced alongside the auto-translate refresh flow. Partial-by-length mirrors the terminal post list heuristic (source ≥ 200 plain chars, target < 30 %). Purely read-only.
No parameters required
This endpoint takes no path, query, header or body parameters.
1 status code documented
defaultLocaleobjectRequiredidnumberRequiredcodestringRequiredLocale code, e.g. "cs", "en".
enabledLocalesobject[]RequiredidnumberRequiredcodestringRequiredisSourcebooleanRequiredTrue for the org's primary (source) locale — everything is translated FROM this one.
totalsobjectRequiredlivePostsnumberRequiredNon-deleted posts of kind="post".
fullyTranslatedPostsnumberRequiredPost has an OK translation in every enabled non-source locale. Single-locale orgs count as fully translated.
partiallyTranslatedPostsnumberRequiredPost has at least one OK translation AND at least one missing / partial locale.
untranslatedPostsnumberRequiredPost has no translation in any non-source locale.
perLocaleobject[]RequiredlocaleIdnumberRequiredlocalestringRequiredisSourcebooleanRequiredpostsWithTranslationnumberRequiredLive posts with a content__post_locale row for this locale (any state).
postsMissingnumberRequiredLive posts with no row for this locale. Always 0 for the source locale.
postsStalenumberRequiredRow exists but source_history_id is NULL or points at an older source-history entry. Always 0 for the source locale.
postsFreshnumberRequiredRow exists and source_history_id matches the newest source-history entry. Legacy posts without any source history also count here.
postsPartialByLengthnumberRequiredRow exists but plain-text content < 30 % of source (source ≥ 200 plain chars). Diagnostic — overlaps with fresh / stale, does not double-count.
canonicalRoutesnumberRequiredNumber of canonical article routes in core__route for this locale.
orphanedRoutesnumberRequiredCanonical routes whose referenced post no longer has a content__post_locale row in this locale.
historyCoverageobjectRequiredpostsWithHistorynumberRequiredLive posts with at least one content__post_history entry in any locale.
postsWithoutHistorynumberRequiredLive posts predating the content__post_history table — stale detection cannot fire for these, admin should trigger auto-translate once to seed a snapshot.
avgHistoryEntriesPerPostnumberRequiredAverage number of history entries per post that has any, across all locales.
{
"defaultLocale": {
"id": 0,
"code": "example_code"
},
"enabledLocales": [
{
"id": 0,
"code": "example_code",
"isSource": false
}
],
"totals": {
"livePosts": 0,
"fullyTranslatedPosts": 0,
"partiallyTranslatedPosts": 0,
"untranslatedPosts": 0
},
"perLocale": [
{
"localeId": 0,
"locale": "example_locale",
"isSource": false,
"postsWithTranslation": 0,
"postsMissing": 0,
"postsStale": 0,
"postsFresh": 0,
"postsPartialByLength": 0,
"canonicalRoutes": 0,
"orphanedRoutes": 0
}
],
"historyCoverage": {
"postsWithHistory": 0,
"postsWithoutHistory": 0,
"avgHistoryEntriesPerPost": 0
}
}GET /bff/post/translation-analytics
curl -X GET "https://api.bizkithub.com/bff/post/translation-analytics" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY"All BizKitHub public API endpoints require authentication via API key.