Returns the full publicly displayable detail of a single active branch identified by slug. Includes address (without internal delivery notes), opening hours (regular + exceptions), public e-mails and phones, branch type, parent branch reference, operating company (name + IČO + DIČ — public business-register information), the full public photo gallery (logo + main photo + rest), the openedDate and establishedDate timestamps, the currently active closure ("výluka") when the branch is temporarily closed right now, the list of associated people (role and display name only), and pointers to the 4 public legal documents (VOP / reklamace / GDPR / provozní řád) under documents.*. Each documents.* entry carries the post's postId + minimal metadata (title, locale, updatedDate); the full markdown body is fetched separately via GET /api/v1/post/post?apiKey=…&id=<postId>&locale=<locale>. Pass locale=… on this endpoint to pick the language of the metadata pointers.
Internal data (internal code, internal description, staff instructions, AI system prompt, internal billing contact, attached calendars / products / locks, monetary write-offs, franchise-fee percentage) is deliberately excluded from this endpoint.
Key format: A 32-character string matching: ^(PROD|DEV_|ROOT)[A-Za-z0-9]{28}$
Prefixes: PROD (production key), DEV_ (individual developer), ROOT (system key with no limits). Learn more
ExamplePRODPGrFxpGEtrOZfuWhnoJohUYBXuOE
slugstringRequired
Branch slug.
Exampleprague-central
localestringOptional
Preferred locale for the embedded documents (VOP / GDPR / provozní řád / reklamace). When the requested locale has content it is returned; otherwise the endpoint falls back to any other available translation and each doc entry surfaces isRequestedLocale: false so the client can render a 'translation missing' hint. Omit to accept any locale.
Examplecs
Response schema
1 status code documented
200Success
idstringRequired
Branch slug.
Exampleprague-central
slugstringRequired
Exampleprague-central
namestringRequired
ExamplePrague Central
descriptionstringOptional
urlstringOptional
latitudenumberOptional
Example50.0755
longitudenumberOptional
Example14.4378
branchType"own" | "franchise" | "partner"Required
Branch kind declared by the operator. "own" = the organisation runs the branch directly; "franchise" = a third-party franchisee runs it under the organisation's brand; "partner" = a cooperating but independent business.
parentBranchobjectOptional
slugstringRequired
Slug of the operational parent (regional flagship / HQ).
namestringRequired
branchType"own" | "franchise" | "partner"Optional
operatingCompanyobjectOptional
namestringOptional
Legal name of the entity operating this branch.
companyRegistrationNumberstringOptional
Czech IČO (or local equivalent). Publicly listed in the business register.
URL of the main public photo (also present in photos with isMain=true).
logoUrlstringOptional
URL of the branch logo (also present in photos with isLogo=true).
photosobject[]Required
Full public gallery — every active, non-deleted image on the branch, ordered by position ascending. Each entry carries isMain / isLogo flags so the client can locate the main photo and the logo without a second lookup.
Each array item:
urlstringRequired
Direct URL of the photo.
descriptionstringOptional
Publicly displayable caption.
positionnumberRequired
Gallery sort position (ascending).
isMainbooleanRequired
Whether this is the main branch photo (matches mainPhotoUrl).
isLogobooleanRequired
Whether this image is used as the branch logo (matches logoUrl).
addressobjectOptional
firstNamestringOptional
lastNamestringOptional
companyNamestringOptional
streetAddressstringOptional
citystringOptional
cityPartstringOptional
stateRegionstringOptional
postalCodestringOptional
countrystringOptional
ISO 3166-1 alpha-2 country code.
ExampleCZ
openingHoursobjectRequired
regularobject[]Required
Each array item:
dayOfWeeknumberRequired
0 = Monday … 6 = Sunday.
Range: 0–6
definitionstringRequired
Time range definition (e.g. "08:00-17:00").
descriptionstringOptional
validFromDate | string | string | numberOptional
One of 4:
Variant 1
Date
Variant 2
stringdate-time
Variant 3
stringdate
Variant 4
number
validToDate | string | string | numberOptional
One of 4:
Variant 1
Date
Variant 2
stringdate-time
Variant 3
stringdate
Variant 4
number
exceptionsobject[]Required
Each array item:
datestringRequired
Exception date (ISO YYYY-MM-DD).
Example2026-12-24
isOpenbooleanRequired
reasonstringOptional
emailsobject[]Required
Each array item:
emailstringRequired
Exampleinfo@example.com
rolestringOptional
phonesobject[]Required
Each array item:
phonestringRequired
Example+420 777123456
rolestringOptional
peopleobject[]Required
Each array item:
rolestringRequired
Branch person role (e.g. owner, manager, custodian).
customLabelstringOptional
Free-text label that overrides the role display.
namestringOptional
Person display name.
documentsobjectRequired
The 4 public legal documents attached to the branch. A slot is omitted (not returned as null) when the branch hasn't authored that document in any locale yet — this keeps the response small and lets the client iterate Object.keys(documents) to find what is available.
termsOfBusinessobjectOptional
Metadata pointer to one published branch document (VOP / GDPR / provozní řád / reklamace).
postIdstringRequired
Public post external id (16-char string) of the document. This endpoint returns metadata only — the full document body (title, markdown content) is fetched separately via GET /api/v1/post/post?apiKey=…&id=<postId>&locale=<locale> where <locale> should match the locale field returned alongside this postId (e.g. cs when this entry reports locale: "cs").
Recipe for an AI agent / integration:
Call GET /api/v1/branch/detail?apiKey=…&slug=<branch>&locale=<preferred> to obtain the documents.<slot>.postId for the required slot (termsOfBusiness / reclaim / gdpr / operatingRules).
Call GET /api/v1/post/post?apiKey=…&id=<postId>&locale=<documents.<slot>.locale> to fetch the full post (title, content in markdown, updatedDate).
Pair with /api/v1/post/history?apiKey=…&id=<postId> for the revision log of that document.
This two-call pattern keeps the branch payload small (docs are big) and lets the client cache the post body independently of the branch metadata.
ISO date of the last update to the parent post (per-locale rows have no timestamp).
One of 4:
Variant 1
Date
ISO date of the last update to the parent post (per-locale rows have no timestamp).
Variant 2
stringdate-time
Variant 3
stringdate
Variant 4
number
localestringRequired
Locale code the returned metadata refers to (same locale to pass on to /api/v1/post/post). May differ from the requested locale when the endpoint fell back to an available translation.
Examplecs
isRequestedLocalebooleanRequired
True when locale matches the requested locale exactly; false when the endpoint fell back to another available translation. Consumers can use this to render a "translation missing" hint.
reclaimobjectOptional
Metadata pointer to one published branch document (VOP / GDPR / provozní řád / reklamace).
postIdstringRequired
Public post external id (16-char string) of the document. This endpoint returns metadata only — the full document body (title, markdown content) is fetched separately via GET /api/v1/post/post?apiKey=…&id=<postId>&locale=<locale> where <locale> should match the locale field returned alongside this postId (e.g. cs when this entry reports locale: "cs").
Recipe for an AI agent / integration:
Call GET /api/v1/branch/detail?apiKey=…&slug=<branch>&locale=<preferred> to obtain the documents.<slot>.postId for the required slot (termsOfBusiness / reclaim / gdpr / operatingRules).
Call GET /api/v1/post/post?apiKey=…&id=<postId>&locale=<documents.<slot>.locale> to fetch the full post (title, content in markdown, updatedDate).
Pair with /api/v1/post/history?apiKey=…&id=<postId> for the revision log of that document.
This two-call pattern keeps the branch payload small (docs are big) and lets the client cache the post body independently of the branch metadata.
ISO date of the last update to the parent post (per-locale rows have no timestamp).
One of 4:
Variant 1
Date
ISO date of the last update to the parent post (per-locale rows have no timestamp).
Variant 2
stringdate-time
Variant 3
stringdate
Variant 4
number
localestringRequired
Locale code the returned metadata refers to (same locale to pass on to /api/v1/post/post). May differ from the requested locale when the endpoint fell back to an available translation.
Examplecs
isRequestedLocalebooleanRequired
True when locale matches the requested locale exactly; false when the endpoint fell back to another available translation. Consumers can use this to render a "translation missing" hint.
gdprobjectOptional
Metadata pointer to one published branch document (VOP / GDPR / provozní řád / reklamace).
postIdstringRequired
Public post external id (16-char string) of the document. This endpoint returns metadata only — the full document body (title, markdown content) is fetched separately via GET /api/v1/post/post?apiKey=…&id=<postId>&locale=<locale> where <locale> should match the locale field returned alongside this postId (e.g. cs when this entry reports locale: "cs").
Recipe for an AI agent / integration:
Call GET /api/v1/branch/detail?apiKey=…&slug=<branch>&locale=<preferred> to obtain the documents.<slot>.postId for the required slot (termsOfBusiness / reclaim / gdpr / operatingRules).
Call GET /api/v1/post/post?apiKey=…&id=<postId>&locale=<documents.<slot>.locale> to fetch the full post (title, content in markdown, updatedDate).
Pair with /api/v1/post/history?apiKey=…&id=<postId> for the revision log of that document.
This two-call pattern keeps the branch payload small (docs are big) and lets the client cache the post body independently of the branch metadata.
ISO date of the last update to the parent post (per-locale rows have no timestamp).
One of 4:
Variant 1
Date
ISO date of the last update to the parent post (per-locale rows have no timestamp).
Variant 2
stringdate-time
Variant 3
stringdate
Variant 4
number
localestringRequired
Locale code the returned metadata refers to (same locale to pass on to /api/v1/post/post). May differ from the requested locale when the endpoint fell back to an available translation.
Examplecs
isRequestedLocalebooleanRequired
True when locale matches the requested locale exactly; false when the endpoint fell back to another available translation. Consumers can use this to render a "translation missing" hint.
operatingRulesobjectOptional
Metadata pointer to one published branch document (VOP / GDPR / provozní řád / reklamace).
postIdstringRequired
Public post external id (16-char string) of the document. This endpoint returns metadata only — the full document body (title, markdown content) is fetched separately via GET /api/v1/post/post?apiKey=…&id=<postId>&locale=<locale> where <locale> should match the locale field returned alongside this postId (e.g. cs when this entry reports locale: "cs").
Recipe for an AI agent / integration:
Call GET /api/v1/branch/detail?apiKey=…&slug=<branch>&locale=<preferred> to obtain the documents.<slot>.postId for the required slot (termsOfBusiness / reclaim / gdpr / operatingRules).
Call GET /api/v1/post/post?apiKey=…&id=<postId>&locale=<documents.<slot>.locale> to fetch the full post (title, content in markdown, updatedDate).
Pair with /api/v1/post/history?apiKey=…&id=<postId> for the revision log of that document.
This two-call pattern keeps the branch payload small (docs are big) and lets the client cache the post body independently of the branch metadata.
ISO date of the last update to the parent post (per-locale rows have no timestamp).
One of 4:
Variant 1
Date
ISO date of the last update to the parent post (per-locale rows have no timestamp).
Variant 2
stringdate-time
Variant 3
stringdate
Variant 4
number
localestringRequired
Locale code the returned metadata refers to (same locale to pass on to /api/v1/post/post). May differ from the requested locale when the endpoint fell back to an available translation.
Examplecs
isRequestedLocalebooleanRequired
True when locale matches the requested locale exactly; false when the endpoint fell back to another available translation. Consumers can use this to render a "translation missing" hint.