Skip to content
Documentation
pozyskajpacjentaDocs

Resources

Changelog

Every version of API v1 and of the TypeScript SDK, newest first. Changes that tighten behaviour are marked as a behaviour change.

API v1

  1. 1.9.1

    • ChangedThe served OpenAPI document gains an operationId per operation (the SDK method names), six tags, English descriptions for every operation, parameter, response and property, recorded examples for every response, and x-pp-since on operations, schemas and newer fields. No endpoint, field or type changed.
    • FixedMediaItem.createdAt is documented: GET /media has sent it since 1.2.0.listMedia
    • DeprecatedMediaItem.r2Key is an internal storage key. It stays in the response; build addresses from url.listMediauploadMedia
  2. 1.9.0

    • AddedRequest a time: an optional timeRequest (1 to 3 preferred windows, a treatment and optionally a doctor) on POST /leads, echoed as LeadCreated.timeRequest. An invalid one keeps the lead and adds the warning invalid_time_request; with ?strict=1 it is a 400 with that code.createLead
  3. 1.8.1

    • Behaviour changeBookingCatalogService.priceLabel is the booking service's own price first, then the linked treatment's priceFromLabel. Before, the treatment's price won, so a consultation linked to orthodontics showed the orthodontics price instead of its own.getBookingCatalog
  4. 1.8.0

    • AddedBookingCatalogService.nfz: services under the public health fund (NFZ) are listed for information and booked by phone only.getBookingCatalog
    • Behaviour changeA service the clinic marks as NFZ answers 400 with the code nfz_phone_only on GET /booking/slots and POST /booking/appointments; nothing is stored.getSlotscreateAppointment
  5. 1.7.0

    • AddedGET /privacy: the clinic's privacy policy and the information clause for its forms, with a version to send back.getPrivacy
    • AddedOptional privacyNoticeVersion and marketingConsent on POST /leads and POST /booking/appointments; SiteProfile.privacy.createLeadcreateAppointmentgetSite
  6. 1.6.3

    • ChangedEvery booking sends reception a "Nowa wizyta" e-mail with an .ics file; a lead created by a booking no longer sends a second e-mail of its own. The response is unchanged.createAppointment
  7. 1.6.2

    • FixedSite.noindex: keep robots.txt open (Allow: /, no Sitemap line) so crawlers can see the noindex and drop pages they indexed before. The description used to recommend Disallow: /.getSitegetContent
  8. 1.6.1

    • Behaviour changePOST /media refuses SVG files with 415. SVG files uploaded before are still served, with a sandboxing Content-Security-Policy header.uploadMedia
  9. 1.6.0

    • AddedPOST /feedback: remarks about the clinic's site or the API for the platform team, with personal data removed before storing and 20 remarks per hour per clinic and source.sendFeedback
  10. 1.5.0

    • AddedSite.noindex: the clinic keeps its site out of search engines, and your frontend follows.getSitegetContent
  11. 1.4.0

    • AddedGET /site and Site.profile: contact, address, map point, opening hours, NFZ, payments, social links, logos and registry numbers.getSitegetContent
    • AddedImage variants of library files (?w= on a fixed width ladder, f= auto, avif or webp) and width, height, aiGenerated and caption on MediaRef and MediaItem; caption and aiGenerated on POST /media.uploadMedialistMedia
  12. 1.3.0

    • AddedGET /booking/catalog, and bookingServiceId on treatments and bookingResourceId on team members to link pages to booking.getBookingCataloglistServicesgetServicelistDoctorsgetDoctor
    • AddedRateLimit-Limit, RateLimit-Remaining and RateLimit-Reset on every response to a valid key; code on errors that have one.
    • AddedPOST /leads answers warnings: ["missing_contact"] for a lead without a phone or e-mail, and rejects it with ?strict=1.createLead
    • FixedPOST /leads answers 400 invalid_json or invalid_body for a body that is not a JSON object, instead of failing.createLead
  13. 1.2.0

  14. 1.1.0

  15. 1.0.0

    • AddedThe first public API: a page with its site, the published paths and creating a lead, with a secret Bearer key and 120 requests per minute.getContentlistPagescreateLead

SDK

  1. 0.8.1

    for API 1.9.1
    • AddedMediaItem.createdAt is typed.
  2. 0.8.0

    for API 1.9.0
    • AddedcreateLead({ …, timeRequest }) and LeadCreated.timeRequest; TIME_OF_DAY and windowFromPart build windows from the parts of the day the clinic's form offers.
  3. 0.7.2

    for API 1.8.1
    • ChangedDocuments the new priceLabel order; types unchanged.
  4. 0.7.1

    for API 1.8.0
    • AddedBookingCatalogService.nfz; getSlots and createAppointment throw ApiError with code: "nfz_phone_only" for an NFZ service.
  5. 0.7.0

    for API 1.7.0
    • AddedgetPrivacy(); privacyNoticeVersion and marketingConsent on createLead and createAppointment; SiteProfile.privacy.
  6. 0.6.0

    for API 1.6.0
    • AddedsendFeedback().
  7. 0.5.1

    for API 1.5.0
    • AddedSite.noindex.
  8. 0.5.0

    for API 1.4.0
    • AddedgetSite() and Site.profile; media fields; uploadMedia(file, { caption, aiGenerated }); mediaVariantUrl, mediaSrcSet, phoneHref, WEEKDAYS and SCHEMA_ORG_DAYS.
  9. 0.4.1

    for API 1.3.0
    • FixedThe tarball installs on its own (types inlined, no dependency outside the public registry).
    • AddedcreateLead(lead, { strict }) and LeadCreated.warnings.
  10. 0.4.0

    for API 1.3.0
    • Behaviour changebaseUrl is required: there is no default, so a test frontend never talks to production by accident.
    • AddedNon-2xx answers throw ApiError (SlotTakenError for a taken slot, with fresh slots); booking and media methods; ESM and CommonJS builds.
  11. 0.3.0

    for API 1.3.0
    • AddedgetBookingCatalog(), bookingServiceId and bookingResourceId.
  12. 0.2.0

    for API 1.1.0
    • AddedThe eight entity methods; SiteContent.page is the ContentPage union.
  13. 0.1.0

    for API 1.0.0
    • AddedgetContent, listPages and createLead.