Get a page and its site
GET/api/v1/content
- Since
- 1.0.0
- Auth
- Bearer key
- operationId
- getContent
The page at a path together with the site it belongs to: everything a frontend needs to render that page. page.kind tells a page built from blocks from the eight entity pages. Responses are private to the key: Cache-Control: private, max-age=60, so cache them on your side for up to a minute.
Request
Send the clinic's key in Authorization: Bearer (see API keys).
Query parameters
- pathstring
Path of the page on the clinic's site.
curl "https://app.pozyskajpacjenta.pl/api/v1/content?path=/" \
-H "Authorization: Bearer $PP_API_KEY"import { PozyskajPacjentaClient } from "@pozyskajpacjenta/sdk";
const client = new PozyskajPacjentaClient({
apiKey: process.env.PP_API_KEY ?? "",
baseUrl: "https://app.pozyskajpacjenta.pl",
});
const { site, page } = await client.getContent("/rezerwacja");<?php
$response = wp_remote_get(
'https://app.pozyskajpacjenta.pl/api/v1/content?path=/',
array(
'headers' => array( 'Authorization' => 'Bearer ' . getenv( 'PP_API_KEY' ) ),
'timeout' => 10,
)
);
if ( is_wp_error( $response ) ) {
error_log( $response->get_error_message() );
return;
}
$status = wp_remote_retrieve_response_code( $response );
$data = json_decode( wp_remote_retrieve_body( $response ), true );Response
200The site and the page.
- siteSiterequired
The clinic's site.
Fields (6)
- namestringrequired
Name of the clinic as shown on the site.
- primaryDomainstring | null
The site's main domain; null before a domain is connected.
- menuMenuItem[]required
The main menu, in order.
Fields of each item (2)
- labelstringrequired
Text of the menu item.
- pathstringrequired
Path on the clinic's site, e.g. /zabiegi.
- themeThemeTokensrequired
Theme tokens of the site.
- profileSiteProfile | nullrequiredsince 1.4.0
The clinic profile; null until the clinic fills it in.
Fields (18)
- legalNamestring
Registered name of the entity that runs the clinic.
- phonestring
Phone number for display, e.g. +48 22 100 20 30. For a tel: link keep the digits and the +.
- emailstring (email)
The clinic's contact e-mail.
- addressSiteAddress
The clinic's address.
Fields (5)
- streetstringrequired
Street and number.
- postalCodestringrequired
Postal code, 00-000.
- citystringrequired
City.
- districtstring
District, e.g. Mokotów.
- accessNotestring
How to get in: entrance, floor, parking, lift.
- geoobject
Map point of the clinic.
Fields (2)
- latnumberrequired
Latitude.
- lngnumberrequired
Longitude.
- openingHoursOpeningHours
Opening hours per weekday.
Fields (7)
- monOpeningInterval[]
Monday's intervals.
Fields of each item (2)
- opensstringrequired
Opening time, HH:MM.
- closesstringrequired
Closing time, HH:MM, later than
opens.
- tueOpeningInterval[]
Tuesday's intervals.
Fields as in OpeningInterval above.
- wedOpeningInterval[]
Wednesday's intervals.
Fields as in OpeningInterval above.
- thuOpeningInterval[]
Thursday's intervals.
Fields as in OpeningInterval above.
- friOpeningInterval[]
Friday's intervals.
Fields as in OpeningInterval above.
- satOpeningInterval[]
Saturday's intervals.
Fields as in OpeningInterval above.
- sunOpeningInterval[]
Sunday's intervals.
Fields as in OpeningInterval above.
- openingHoursNotestring
Note shown next to the hours, e.g. until when the phone is answered.
- nfzobject
Contract with the National Health Fund (NFZ).
Fields (2)
- contractbooleanrequired
true when the clinic has an NFZ contract.
- notestring
Note about the NFZ contract, e.g. which services it covers.
- paymentsobject
Accepted payment methods.
Fields (2)
- methodsstring[]required
Payment methods as the clinic names them, e.g. gotówka, karta, BLIK.
- notestring
Note about payments, e.g. instalments.
- socialsobject[]
Links to the clinic's profiles elsewhere.
Fields of each item (2)
- networkstringrequired
The network.
One of
facebookinstagramyoutubetiktoklinkedinxgoogleznanylekarzother - urlstringrequired
Profile address (https://).
- logoMediaRef | null
Logo; null when the file was removed from the media library.
Fields (8)
- urlstringrequired
Absolute address of the file.
- focalXinteger | null
Horizontal focal point in percent (0 to 100) to keep when cropping, e.g. as object-position.
- focalYinteger | null
Vertical focal point in percent (0 to 100).
- altstring | null
Alternative text; null when the clinic left it empty.
- widthintegersince 1.4.0
Width of the original in px (library files, when known), for width/height attributes without layout shift.
- heightintegersince 1.4.0
Height of the original in px.
- aiGeneratedbooleansince 1.4.0
The image was generated by AI: label it next to the image (e.g. in a caption).
- captionstringsince 1.4.0
Caption to show under the image.
- logoInverseMediaRef | null
Logo for dark backgrounds.
Fields as in MediaRef above.
- faviconMediaRef | null
Favicon file.
Fields as in MediaRef above.
- defaultOgImageMediaRef | null
og:image for pages that have none of their own.
Fields as in MediaRef above.
- registryobject
Registry numbers. Show only the ones that are set.
Fields (4)
- rpwdlstring
Number in the register of medical entities (RPWDL).
- nipstring
Tax identification number (NIP).
- regonstring
Statistical number (REGON).
- krsstring
Court register number (KRS).
- privacyobjectsince 1.7.0
Data for the privacy policy and the information clause. The controller is
legalNamewith the address and theregistrynumbers. Full policy text: GET /privacy.Fields (4)
- contactEmailstring (email)since 1.7.0
E-mail for personal-data requests; the clinic's
emailwhen unset. - registeredOfficestringsince 1.7.0
The controller's registered office, when it differs from the clinic address.
- dpoNamestringsince 1.7.0
Data protection officer, when one is appointed.
- dpoEmailstring (email)since 1.7.0
The data protection officer's e-mail.
- reviewsPolicystring
How the clinic collects and checks the reviews it shows on its site.
- demoNoticestring
A notice for every page (e.g. a demo site). Show it when present.
- noindexbooleansince 1.5.0
true: the site stays out of search engines (a demo, or before launch). Add meta robots noindex to every page (ideally also the header X-Robots-Tag: noindex) and publish no sitemap. Keep robots.txt open (
Allow: /, no Sitemap line): a crawler has to fetch the pages to see the noindex and drop URLs it indexed before.
- pageContentPagerequired
The page at
path.kind: "page"A page built from blocks in the clinic's page editor.
- kindstringrequired
Always
page.One of
page - pathstringrequired
Path of the page on the clinic's site.
- titlestringrequired
Page title (the h1 and the <title>).
- seoTitlestring | null
Title for <title> when it differs from
title; null otherwise. - seoDescriptionstring | null
Meta description; null when empty.
- blocksBlock[]required
The page's content blocks, in order.
Fields of each item (3)
- idstringrequired
Block id, stable within the page.
- typestringrequired
Block type with its version, e.g. hero.v1, faq.v1.
- propsobjectrequired
The block's fields; their shape depends on
type.
kind: "services"The treatments index (/zabiegi).
- kindstringrequired
Always
services.One of
services - pathstringrequired
Path of the page on the clinic's site.
- titlestringrequired
Page title (the h1 and the <title>).
- breadcrumbsCrumb[]required
Breadcrumb trail from the home page to this page.
Fields of each item (2)
- labelstringrequired
Text of the step.
- hrefstring | null
Path of the step; null for the current page.
- ctaCtarequired
The page's one call to action.
Fields (2)
- labelstringrequired
Button text.
- hrefstringrequired
Link target: tel:… or a path on the clinic's site.
- eyebrowstring
Short label above the title.
- leadstring | null
Paragraph under the title; null when the clinic left it empty.
- servicesServiceSummary[]required
Published treatments, in the clinic's order.
Fields of each item (9)
- idstringrequired
Treatment id.
- slugstringrequired
Slug from the treatment's address.
- pathstringrequired
Path on the clinic's site, e.g. /zabiegi/implanty.
- namestringrequired
Treatment name.
- categorystring | null
Category the clinic groups the treatment under; null when none.
- shortDescstring | null
One-sentence description for lists; null when empty.
- priceFromLabelstring | null
Price label, e.g. od 290 zł; null when the clinic shows no price.
- durationLabelstring | null
Duration label, e.g. zabieg 60 min; null when empty.
- bookingServiceIdstring | nullrequiredsince 1.3.0
Id of the active booking service this treatment is booked as: an entry of GET /booking/catalog and the
serviceparameter of /booking/slots. null when the treatment is not linked to booking or the linked service is inactive.
kind: "service"A treatment page (/zabiegi/{slug}).
- kindstringrequired
Always
service.One of
service - pathstringrequired
Path of the page on the clinic's site.
- titlestringrequired
Page title (the h1 and the <title>).
- breadcrumbsCrumb[]required
Breadcrumb trail from the home page to this page.
Fields as in Crumb above.
- ctaCtarequired
The page's one call to action.
Fields as in Cta above.
- serviceServiceDetailrequired
The treatment.
Fields (14)
- idstringrequired
Treatment id.
- slugstringrequired
Slug from the treatment's address.
- pathstringrequired
Path on the clinic's site, e.g. /zabiegi/implanty.
- namestringrequired
Treatment name.
- categorystring | null
Category the clinic groups the treatment under; null when none.
- shortDescstring | null
One-sentence description for lists; null when empty.
- priceFromLabelstring | null
Price label, e.g. od 290 zł; null when the clinic shows no price.
- durationLabelstring | null
Duration label, e.g. zabieg 60 min; null when empty.
- bookingServiceIdstring | nullrequiredsince 1.3.0
Id of the active booking service this treatment is booked as: an entry of GET /booking/catalog and the
serviceparameter of /booking/slots. null when the treatment is not linked to booking or the linked service is inactive. - heroMediaRef | null
Main image of the treatment page; null when none.
Fields as in MediaRef above.
- bodyBlocksBlock[]required
Content blocks of the treatment page.
Fields as in Block above.
- faqobject[]required
Questions and answers about the treatment.
Fields of each item (2)
- questionstringrequired
The question.
- answerstringrequired
The answer, plain text.
- relatedRelatedService[]required
Other published treatments the clinic links from this one.
Fields of each item (5)
- idstringrequired
Treatment id.
- slugstringrequired
Treatment slug.
- pathstringrequired
Path of the treatment page.
- namestringrequired
Treatment name.
- priceFromLabelstring | null
Price label, e.g. od 290 zł; null when the clinic shows no price.
- updatedAtstring (date-time)required
Last change, ISO 8601.
kind: "team"The team page (/zespol).
- kindstringrequired
Always
team.One of
team - pathstringrequired
Path of the page on the clinic's site.
- titlestringrequired
Page title (the h1 and the <title>).
- breadcrumbsCrumb[]required
Breadcrumb trail from the home page to this page.
Fields as in Crumb above.
- ctaCtarequired
The page's one call to action.
Fields as in Cta above.
- eyebrowstring
Short label above the title.
- leadstring | null
Paragraph under the title; null when the clinic left it empty.
- doctorsDoctorSummary[]required
Published team members, in the clinic's order.
Fields of each item (8)
- idstringrequired
Team member id.
- slugstringrequired
Slug from the profile's address.
- pathstringrequired
Path of the profile page.
- namestringrequired
Full name.
- titlestring | null
Professional title, e.g. lek. dent.; null when none.
- specializationsstring[]required
Specialisations, in the clinic's order.
- photoMediaRef | null
Portrait; null when none.
Fields as in MediaRef above.
- bookingResourceIdstring | nullrequiredsince 1.3.0
Id of the active booking specialist for this profile: an entry of GET /booking/catalog and the
resourceparameter of /booking/slots. null when the profile is not linked to booking or the specialist is inactive.
kind: "doctor"A team member's profile page (/zespol/{slug}).
- kindstringrequired
Always
doctor.One of
doctor - pathstringrequired
Path of the page on the clinic's site.
- titlestringrequired
Page title (the h1 and the <title>).
- breadcrumbsCrumb[]required
Breadcrumb trail from the home page to this page.
Fields as in Crumb above.
- ctaCtarequired
The page's one call to action.
Fields as in Cta above.
- doctorDoctorDetailrequired
The team member.
Fields (10)
- idstringrequired
Team member id.
- slugstringrequired
Slug from the profile's address.
- pathstringrequired
Path of the profile page.
- namestringrequired
Full name.
- titlestring | null
Professional title, e.g. lek. dent.; null when none.
- specializationsstring[]required
Specialisations, in the clinic's order.
- photoMediaRef | null
Portrait; null when none.
Fields as in MediaRef above.
- bookingResourceIdstring | nullrequiredsince 1.3.0
Id of the active booking specialist for this profile: an entry of GET /booking/catalog and the
resourceparameter of /booking/slots. null when the profile is not linked to booking or the specialist is inactive. - biostring | null
Biography, plain text with blank lines between paragraphs; null when empty.
- updatedAtstring (date-time)required
Last change, ISO 8601.
- servicesRelatedService[]required
Up to 6 of the clinic's treatments shown on the profile.
Fields as in RelatedService above.
kind: "case-studies"The case studies index (/realizacje).
- kindstringrequired
Always
case-studies.One of
case-studies - pathstringrequired
Path of the page on the clinic's site.
- titlestringrequired
Page title (the h1 and the <title>).
- breadcrumbsCrumb[]required
Breadcrumb trail from the home page to this page.
Fields as in Crumb above.
- ctaCtarequired
The page's one call to action.
Fields as in Cta above.
- eyebrowstring
Short label above the title.
- leadstring | null
Paragraph under the title; null when the clinic left it empty.
- caseStudiesCaseStudySummary[]required
Published case studies, newest first.
Fields of each item (7)
- idstringrequired
Case study id.
- slugstringrequired
Slug from the case study's address.
- pathstringrequired
Path of the case study page.
- titlestringrequired
Title.
- summarystring | null
Short summary; null when empty.
- imageMediaRef | null
List image; null when none.
Fields as in MediaRef above.
- publishedAtstring (date-time) | null
Publication date, ISO 8601; null when unknown.
kind: "case-study"A case study page (/realizacje/{slug}).
- kindstringrequired
Always
case-study.One of
case-study - pathstringrequired
Path of the page on the clinic's site.
- titlestringrequired
Page title (the h1 and the <title>).
- breadcrumbsCrumb[]required
Breadcrumb trail from the home page to this page.
Fields as in Crumb above.
- ctaCtarequired
The page's one call to action.
Fields as in Cta above.
- caseStudyCaseStudyDetailrequired
The case study.
Fields (11)
- idstringrequired
Case study id.
- slugstringrequired
Slug from the case study's address.
- pathstringrequired
Path of the case study page.
- titlestringrequired
Title.
- summarystring | null
Short summary; null when empty.
- beforeMediaRef | null
Image before the treatment; null when none.
Fields as in MediaRef above.
- afterMediaRef | null
Image after the treatment; null when none.
Fields as in MediaRef above.
- bodyBlocksBlock[]required
Content blocks of the case study.
Fields as in Block above.
- servicesRelatedService[]required
Treatments linked to the case study (published ones only).
Fields as in RelatedService above.
- publishedAtstring (date-time) | null
Publication date, ISO 8601; null when unknown.
- updatedAtstring (date-time)required
Last change, ISO 8601.
kind: "posts"The posts index (/aktualnosci).
- kindstringrequired
Always
posts.One of
posts - pathstringrequired
Path of the page on the clinic's site.
- titlestringrequired
Page title (the h1 and the <title>).
- breadcrumbsCrumb[]required
Breadcrumb trail from the home page to this page.
Fields as in Crumb above.
- ctaCtarequired
The page's one call to action.
Fields as in Cta above.
- eyebrowstring
Short label above the title.
- postsPostSummary[]required
Published posts, newest first.
Fields of each item (7)
- idstringrequired
Post id.
- slugstringrequired
Slug from the post's address.
- pathstringrequired
Path of the post page.
- titlestringrequired
Title.
- excerptstring | null
Excerpt for lists; null when empty.
- coverMediaRef | null
Cover image; null when none.
Fields as in MediaRef above.
- publishedAtstring (date-time) | null
Publication date, ISO 8601; null when unknown.
kind: "post"A post page (/aktualnosci/{slug}).
- kindstringrequired
Always
post.One of
post - pathstringrequired
Path of the page on the clinic's site.
- titlestringrequired
Page title (the h1 and the <title>).
- breadcrumbsCrumb[]required
Breadcrumb trail from the home page to this page.
Fields as in Crumb above.
- ctaCtarequired
The page's one call to action.
Fields as in Cta above.
- postPostDetailrequired
The post.
Fields (12)
- idstringrequired
Post id.
- slugstringrequired
Slug from the post's address.
- pathstringrequired
Path of the post page.
- titlestringrequired
Title.
- excerptstring | null
Excerpt for lists; null when empty.
- coverMediaRef | null
Cover image; null when none.
Fields as in MediaRef above.
- publishedAtstring (date-time) | null
Publication date, ISO 8601; null when unknown.
- bodyBlocksBlock[]required
Content blocks of the post.
Fields as in Block above.
- seoTitlestring | null
Title for <title> when it differs from
title; null otherwise. - seoDescriptionstring | null
Meta description; null when empty.
- ogImageMediaRef | null
og:image of the post; null when none.
Fields as in MediaRef above.
- updatedAtstring (date-time)required
Last change, ISO 8601.
A page built from blocks (kind: page)
{
"site": {
"name": "Klinika Wzorcowa",
"primaryDomain": "wzorcowa.pozyskajpacjenta.pl",
"menu": [
{
"label": "Strona główna",
"path": "/"
},
{
"label": "Zabiegi",
"path": "/zabiegi"
},
{
"label": "Zespół",
"path": "/zespol"
},
{
"label": "Rezerwacja",
"path": "/rezerwacja"
}
],
"theme": {
"version": 1,
"colors": {
"background": "#faf7f1",
"foreground": "#211d18",
"surface": "#fffdf9",
"surface2": "#f3ede1",
"muted": "#f1eadb",
"mutedForeground": "#655c4e",
"primary": "#7a5c2e",
"primaryForeground": "#fffdf9",
"accent": "#2c2a25",
"accentForeground": "#f5efe2",
"border": "#e3dac7"
},
"colorsDark": {
"background": "#171310",
"foreground": "#f2ecdf",
"surface": "#201b15",
"surface2": "#2a241b",
"muted": "#242017",
"mutedForeground": "#b5aa93",
"primary": "#d3ab63",
"primaryForeground": "#231b0e",
"accent": "#ece0c6",
"accentForeground": "#1c1712",
"border": "#3a3326"
},
"radius": "0.375rem",
"radiusPill": "9999px",
"fontSans": "\"Inter\", \"Inter Fallback\", system-ui, sans-serif",
"fontHeading": "\"Fraunces\", \"Fraunces Fallback\", Georgia, serif",
"type": {
"baseMinPx": 16,
"baseMaxPx": 17.5,
"ratioMin": 1.18,
"ratioMax": 1.3,
"headingWeight": 560,
"bodyWeight": 400,
"headingLineHeight": 1.04,
"bodyLineHeight": 1.62,
"headingTracking": -0.012
},
"rhythm": {
"sectionYMinRem": 5,
"sectionYMaxRem": 10,
"container": "76rem"
},
"elevation": {
"shadowColor": "#2a2114",
"strength": 0.16
},
"motion": {
"durationFastMs": 180,
"durationBaseMs": 340,
"durationSlowMs": 750,
"easeOut": "cubic-bezier(0.22, 1, 0.36, 1)",
"easeSpring": "cubic-bezier(0.32, 1.2, 0.6, 1)"
},
"imagery": {
"overlayColor": "#1a1208",
"overlayOpacity": 0.5,
"imageRadius": "0.375rem"
}
},
"profile": {
"legalName": "Klinika Wzorcowa sp. z o.o.",
"phone": "+48 22 100 20 30",
"email": "recepcja@klinika-wzorcowa.example",
"address": {
"street": "ul. Przykładowa 12",
"postalCode": "00-950",
"city": "Warszawa",
"district": "Mokotów",
"accessNote": "Wejście od podwórza, parter, winda."
},
"geo": {
"lat": 52.1935,
"lng": 21.0346
},
"openingHours": {
"mon": [
{
"opens": "08:00",
"closes": "20:00"
}
],
"tue": [
{
"opens": "08:00",
"closes": "20:00"
}
],
"wed": [
{
"opens": "08:00",
"closes": "20:00"
}
],
"thu": [
{
"opens": "08:00",
"closes": "20:00"
}
],
"fri": [
{
"opens": "08:00",
"closes": "16:00"
}
],
"sat": [
{
"opens": "09:00",
"closes": "14:00"
}
]
},
"openingHoursNote": "Rejestracja telefoniczna do 19:00.",
"nfz": {
"contract": false
},
"payments": {
"methods": [
"gotówka",
"karta",
"BLIK"
]
}
},
"noindex": false
},
"page": {
"kind": "page",
"path": "/rezerwacja",
"title": "Rezerwacja wizyty",
"seoTitle": null,
"seoDescription": "Zarezerwuj wizytę w Klinice Wzorcowej online: wybierz zabieg, lekarza i wolny termin.",
"blocks": [
{
"id": "fw-nav",
"type": "nav.v1",
"props": {
"variant": "with-cta",
"brandName": "Klinika Wzorcowa",
"links": [],
"ctaLabel": "Umów wizytę",
"ctaHref": "/rezerwacja"
}
},
{
"id": "fw-rez-hero",
"type": "hero.v1",
"props": {
"variant": "centered",
"eyebrow": "Rezerwacja online",
"heading": "Wybierz termin, który Ci pasuje",
"subheading": "Kalendarz pokazuje wyłącznie realnie wolne terminy. Potwierdzenie i link do zmiany rezerwacji dostaniesz e-mailem od razu."
}
}
]
}
}An entity page (kind: services)
{
"site": {
"name": "Klinika Wzorcowa",
"primaryDomain": "wzorcowa.pozyskajpacjenta.pl",
"menu": [
{
"label": "Strona główna",
"path": "/"
},
{
"label": "Zabiegi",
"path": "/zabiegi"
},
{
"label": "Zespół",
"path": "/zespol"
},
{
"label": "Rezerwacja",
"path": "/rezerwacja"
}
],
"theme": {
"version": 1,
"colors": {
"background": "#faf7f1",
"foreground": "#211d18",
"surface": "#fffdf9",
"surface2": "#f3ede1",
"muted": "#f1eadb",
"mutedForeground": "#655c4e",
"primary": "#7a5c2e",
"primaryForeground": "#fffdf9",
"accent": "#2c2a25",
"accentForeground": "#f5efe2",
"border": "#e3dac7"
},
"colorsDark": {
"background": "#171310",
"foreground": "#f2ecdf",
"surface": "#201b15",
"surface2": "#2a241b",
"muted": "#242017",
"mutedForeground": "#b5aa93",
"primary": "#d3ab63",
"primaryForeground": "#231b0e",
"accent": "#ece0c6",
"accentForeground": "#1c1712",
"border": "#3a3326"
},
"radius": "0.375rem",
"radiusPill": "9999px",
"fontSans": "\"Inter\", \"Inter Fallback\", system-ui, sans-serif",
"fontHeading": "\"Fraunces\", \"Fraunces Fallback\", Georgia, serif",
"type": {
"baseMinPx": 16,
"baseMaxPx": 17.5,
"ratioMin": 1.18,
"ratioMax": 1.3,
"headingWeight": 560,
"bodyWeight": 400,
"headingLineHeight": 1.04,
"bodyLineHeight": 1.62,
"headingTracking": -0.012
},
"rhythm": {
"sectionYMinRem": 5,
"sectionYMaxRem": 10,
"container": "76rem"
},
"elevation": {
"shadowColor": "#2a2114",
"strength": 0.16
},
"motion": {
"durationFastMs": 180,
"durationBaseMs": 340,
"durationSlowMs": 750,
"easeOut": "cubic-bezier(0.22, 1, 0.36, 1)",
"easeSpring": "cubic-bezier(0.32, 1.2, 0.6, 1)"
},
"imagery": {
"overlayColor": "#1a1208",
"overlayOpacity": 0.5,
"imageRadius": "0.375rem"
}
},
"profile": {
"legalName": "Klinika Wzorcowa sp. z o.o.",
"phone": "+48 22 100 20 30",
"email": "recepcja@klinika-wzorcowa.example",
"address": {
"street": "ul. Przykładowa 12",
"postalCode": "00-950",
"city": "Warszawa",
"district": "Mokotów",
"accessNote": "Wejście od podwórza, parter, winda."
},
"geo": {
"lat": 52.1935,
"lng": 21.0346
},
"openingHours": {
"mon": [
{
"opens": "08:00",
"closes": "20:00"
}
],
"tue": [
{
"opens": "08:00",
"closes": "20:00"
}
],
"wed": [
{
"opens": "08:00",
"closes": "20:00"
}
],
"thu": [
{
"opens": "08:00",
"closes": "20:00"
}
],
"fri": [
{
"opens": "08:00",
"closes": "16:00"
}
],
"sat": [
{
"opens": "09:00",
"closes": "14:00"
}
]
},
"openingHoursNote": "Rejestracja telefoniczna do 19:00.",
"nfz": {
"contract": false
},
"payments": {
"methods": [
"gotówka",
"karta",
"BLIK"
]
}
},
"noindex": false
},
"page": {
"kind": "services",
"path": "/zabiegi",
"title": "Zabiegi i usługi",
"eyebrow": "Zabiegi",
"lead": "Pełen zakres leczenia w naszej klinice, poznaj przebieg, ceny i odpowiedzi na najczęstsze pytania.",
"breadcrumbs": [
{
"label": "Strona główna",
"href": "/"
},
{
"label": "Zabiegi"
}
],
"cta": {
"label": "Zadzwoń i umów wizytę",
"href": "tel:+48221002030"
},
"services": [
{
"id": "svc_konsultacja",
"slug": "konsultacja-stomatologiczna",
"name": "Konsultacja stomatologiczna",
"category": "Diagnostyka",
"shortDesc": "Przegląd jamy ustnej, diagnoza i plan leczenia z wyceną na piśmie, punkt startowy każdego leczenia.",
"priceFromLabel": "200 zł",
"durationLabel": "wizyta 30 min",
"bookingServiceId": "bsvc_konsultacja",
"path": "/zabiegi/konsultacja-stomatologiczna"
},
{
"id": "svc_impl",
"slug": "konsultacja-implantologiczna",
"name": "Konsultacja implantologiczna z tomografią 3D",
"category": "Implantologia",
"shortDesc": "Tomografia CBCT, ocena warunków kostnych i kompletny plan odbudowy implantologicznej na jednej wizycie.",
"priceFromLabel": "350 zł",
"durationLabel": "wizyta 45 min",
"bookingServiceId": "bsvc_impl",
"path": "/zabiegi/konsultacja-implantologiczna"
}
]
}
}Errors
| Status | When |
|---|---|
| 401 | No Authorization header |
| 401 | Unknown or rotated key |
| 404 | No published page at this path |
| 404 | The clinic's site is not published |
| 429 | Over 120 requests in this minute |
Branch on the status and code, never on the Polish error text. All statuses in Errors.
{
"error": "missing Authorization: Bearer <klucz z panelu Ustawienia>"
}{
"error": "invalid key"
}{
"error": "page not found"
}{
"error": "site not published"
}{
"error": "przekroczono limit 120 zapytań/min"
}Rate limit
- 120 requests per minute per key, shared by every endpoint.
- Every response to a valid key carries
RateLimit-RemainingandRateLimit-Reset; see Rate limits.
SDK method
client.getContent(path?: string): Promise<SiteContent>
The TypeScript tab above uses it. Install and errors: TypeScript SDK.