Webservice Documentation

Preparation

To be able to use the web service, you first need to set up a search profile. When saving the search profile, make sure that it is created with the "Web Service" option:

image

The ID of the search profile can be obtained from its URL, as shown in below example:

https://login.xplorer.ch/projects/21425/0

Important:
  • After setting up the search profile, values can be retrieved if the web service option is selected. The retrieval process will start the next day.
  • New results can only be retrieved from selected days.

Environments

Product Webservice-URL
Baublatt Xplorer https://api.login.xplorer.ch

Login

To connect to the web service, you must first log in. This can be achieved under the endpoint POST /login_check. Refer to below example:

Example login query:
Example Login Result:

A successful access provides a JWT token and a refresh token. The former is required for any further contact with the interface. The latter is required to obtain a new token after the expiration of the current token.

Important:

A security cookie is required for concurrent access, as shown in below example.

Session management note: When testing the interface, please note that only one active session per user account is allowed. If you log in via the interface using a username and password, any existing browser session will be automatically terminated. The same applies in reverse: once you log in again in the browser, the existing API session will be terminated. This should be taken into account especially during development and testing activities.

Example

The JWT is valid for one hour by default. If a longer session is needed, then the token can be renewed using the refresh token under POST /token/refresh as follows:

Example Refresh Query:

This query result is identical to the login query. Also, the refresh token is valid for 8 hours and is renewed with each call.

Fetching the data

There are two possible endpoints corresponding to the products available in Xplorer.

SearchProfile IDs are strictly tied to their respective endpoint (object type) and cannot be reused across different endpoints. If a SearchProfile is used with a mismatched endpoint, it will result in a "SearchProfile with given id not found" error, even if the ID itself exists.

Endpoint name Objects
all_pn_headers Calls for Tenders / Tenders
projects Projects

Note: The objects available to you depend on your Baublatt framework agreement.

The data retrieval process takes place via one of the above-mentioned endpoints using the GET method, for example /web_service/all_pn_headers/. Bearing this in mind, the previously obtained JWT token and the ID of the previously created search profile are required. The token is passed using the Authorization header, and the search profile ID is provided using a GET parameter as follows:

Example Data Retrieval:

If available, this query now provides the new information of your search profile. The record format can be selected by using the “Accept header” as shown below:

  • Accept: application/xml
  • Accept: application/json
  • Accept: application/ld+json
Recommendation:

For new integrations, we recommend using the application/json format, as this format is natively supported in most programming languages and integration platforms.

Confirmation of Pickup

The web service provides records of your search profile and remembers previous record retrieves. By default, 10 or 20 records (Projects or Tenders) per call are provided from the above-mentioned endpoints. Two ways are available to retrieve the next 20 records as explained below:

Confirmation via Header

If you do not want to call another endpoint, data retrieval can be confirmed by using the X-AUTO-ACK header as shown below:

Example Pickup with Auto-Ack:
Confirmation via endpoint

The next 20 records can be retrieved by using the endpoint POST /web_service/acknowledge/. Search profile ID and the IDs of confirmed records are required in the JSON object as shown below. This method minimizes the risk of losing records in the retrieval process.

Example endpoint:

Data Structure for Projects

When you retrieve the endpoint /web_service/projects/, you will receive the Projects in the data structure described below.

Whenever you see a data field labeled "Code" in the data structure, you can download a corresponding list of all available codes along with their associated names as a CSV file using the download icon

Here is the complete data structure:

Field Type Description Example
externalID string External ID 3197834
id int Unique ID 312885
title string Title Neubau Reservoir mit Leitungsersatz
subtitle Not used for CH
postcode int Postal code 4001
country string Country CHE
town string City Basel
area string Area designation Zwischen der Bahnhofstrasse und der Strasse «Im Sack»
street string Street name and house number Reservoir Häuslersegg
projectValue double Construction cost in currency units 1340000
valueDescription string Construction cost text 1.34 Mio CHF
startDate datetime Construction start 2023-05-21T22:00:00+00:00
startDateAccuracy Not used for CH
startDescription string Text for the construction start Mai 2023
endDate datetime Construction end 2024-06-29T22:00:00+00:00
endDescription string Text for the construction end Juni 2024
lastPublished datetime Last published 2023-05-23T09:13:44+00:00
lastUpdate datetime Last update 2023-05-23T09:13:44+00:00
projectTexts
Field Type Description Example
content string Text content Bewerbung erst nach Veröffentlichung der Ausschreibung möglich
projectTextType
Field Type Description Example
code string Code 500
name string Name Gewerkebemerkung
sortOrder int Sorting 1
projectDetails
Field Type Description Example
id int Unique ID 32502749
value string Value 15
negated boolean Type negated: Yes/No 0
unitType Not used for CH
projectDetailType
Field Type Description Example
id int Unique ID 763
code string Code CH_STRUCTURES
name string Name Fenster
sortOrder int Sorting 1
visible boolean Type visible: Yes/No 0
parentProjectDetailType
Field Type Description Example
id int Unique ID 5
code string Code Bestandteil
name string Name Bestandteile
sortOrder int Sorting 1
visible boolean Type visible: Yes/No 0
projectDisplayGroup
Field Type Description Example
id int Unique ID 3
code string Code COST_SIZE
filterable boolean Type filterable: Yes/No 1
investmentType Not used for CH
qualityType Not used for CH
labelProjects Not used for CH
projectType
Field Type Description Example
id int Unique ID 33
code string Code 11
name string Name Technische Anlagen
sortOrder int Sorting 50
projectResearchType
Field Type Description Example
id int Unique ID 8
code string Code 1
infoText string Research type Achtung: Dieses Projekt wird aufgrund des schnellen Baufortschritts nicht aktualisiert.
sortOrder int Sorting 0
purpose
Field Type Description Example
id int Unique ID 14
code string Code CH_OWN_USE
name string Name Eigenbedarf
planningStage
Field Type Description Example
id int Unique ID 19
code string Code CH_PASSED_IN
name string Name Baugesuch eingereicht
sortOrder int Sorting 4
contractType
Field Type Description Example
code string Code PUBLIC
name string Name public
projectAttributes
Field Type Description Example
id int Unique ID 7911848
value string Value Gst. 1243, 2200, 848
projectAttributeType
Field Type Description Example
id int Unique ID 120
code string Code 1
name string Name Einsprache
valueType string Data type String
showIfEmpty boolean Show type empty: Yes/No 0
sortOrder string Sorting 1
projectDisplayGroup
Field Type Description Example
id int Unique ID 4
code string Code PLOT
externalSystem string System reference 8
projectRoles
Field Type Description Example
projectRoleType
Field Type Description Example
id int Unique ID 162
code string Code 1010
name string Name Bauherr
sortOrder string Sorting 3
deprecated boolean Type deprecated: Yes/No 0
projectRoleTypeGroup
Field Type Description Example
id int Unique ID 1
code string Code ARCHITECTS
name string Name Architekten
externalSystem string System reference 8
active boolean Type active: Yes/No 0
mainContact boolean Main contact: Yes/No 1
visible boolean Type visible: Yes/No 1
company
Field Type Description Example
id int Unique ID 215266
name1 string Name 1 Gemeinde Teufen
name2 string Name 2 Wasserversorgung
language
Field Type Description Example
id int Unique ID 1
code string Code FRA
name string Name Französisch
parishPostcode
Field
parish
Field
parishLanguageRegions
Field
languageRegion
Field Type Description Example
name string Name Deutschschweiz
country
Field Type Description Example
name string Name Schweiz
nameInternational string International name Switzerland
isoCode string ISO code CHE
postCode string Postal code (international format) CH
phonePrefix string Phone prefix 0041
isEU boolean Country in the EU: Yes/No 0
code string Code 4120
countryCode string Country code CH
district
Field
province
Field Type Description Example
officialCode string Official code BS
street string Street name and house number Krankenhausstrasse 1
houseNo Not used for CH
town string City Basel
postcode int Postal code 4001
country string Country code CHE
salesTaxId string VAT ID CHE-356.414.154
contactSpecifications
Field Type Description Example
contactSpecificationType
Field Type Description Example
code string Code PHONE
name string Name Phone
content string Text content 071 335 00 15
externalID int External ID 1312979
projectRolePersons
Field Type Description Example
active boolean Type active: Yes/No 1
person
Field Type Description Example
id int Unique ID 1548945
salutationType
Field Type Description Example
id int Unique ID 33
code string Code 1
name string Name Herr
language
Field Type Description Example
id int Unique ID 1
code string Code FRA
name string Name Französisch
firstName string First name Mia
lastName string Last name Müller
street string Street Clarastrasse 13
postcode string Postal code 4048
town string City Basel
contactSpecifications
Field Type Description Example
contactSpecificationType
Field Type Description Example
code string Code PHONE
name string Name Phone
content string Text content 071 335 00 15
active boolean Type active: Yes/No 1
externalID string External ID 887585
externalSystem string System reference 8
projectRolePersonType
Field Type Description Example
id int Unique ID 9
code string Code CH_ARCHITECT
name string Name Architekt
sortOrder int Sorting 130
deprecated boolean Type deprecated: Yes/No 0
teaserCompany Not used for CH
projectCategories
Field Type Description Example
main boolean Main category: Yes/No 0
projectCategoryType
Field Type Description Example
id int Unique ID 738
parentId int Parent ID 679
code string Code 520
name string Name Wasseraufbereitungsanlagen
visible boolean Type visible: Yes/No 0
projectDevelopmentType
Field Type Description Example
code string Code CH_NEW_CONSTRUCTION
name string Name Neubau
projectDevelopmentTypeGroup
Field Type Description Example
id int Unique ID 2
code string Code MODIFICATION
name string Name Umbau/Sanierung
sortOrder int Sorting 20
deprecated boolean Type deprecated: Yes/No 0
filterable boolean Type filterable: Yes/No 1
parishPostcode
Field
parish
Field
parishLanguageRegions
Field
languageRegion
Field Type Description Example
name string Name Deutschschweiz
country
Field Type Description Example
name string Name Schweiz
nameInternational string International name Switzerland
isoCode string ISO code CHE
postCode string Postal code (international format) CH
phonePrefix string Phone prefix 0041
isEU boolean Country in the EU: Yes/No 0
code string Code 4120
countryCode string Country code CH
district
Field
province
Field Type Description Example
officialCode string Official code BS
projectFiles Not used for CH
projectAccessLogs
Field Type Description Example
projectAccess datetime Project access 2025-12-22T07:36:26+00:00
readAccess datetime Read access 2025-12-22T07:36:26+00:00
topProject Not used for CH
relatedHeaders
Field Type Description Example
id int Unique ID 1996627
pnHeader
Field Type Description Example
id int Unique ID 5996327
objectID int Object ID 217112
publishedAt datetime Published on 2024-05-09T19:24:37+00:00
lastUpdate datetime Last update 2024-05-09T19:24:37+00:00
title string Title Concours Rôtisserie (M311TIC)
mainSitePostcode string Postal code 4001
mainSiteTown string City Basel
mainSiteCountry string Country CHE
offerTimeLimit datetime Offer deadline 2026-06-16T22:00:00+00:00
publicNotices
Field Type Description Example
id int Unique ID 1496667
documentType
Field Type Description Example
name string Name Ausschreibung
code string Code TENDER
title string Title Campus Petersplatz, Fensterreinigung
officialNumber string Official number 1418709
publicNoticeCodes
Field
publicNoticeCodeType
Field Type Description Example
content string Text content WTO/OMC
code string Code 9025
new boolean Type new: Yes/No 0
active boolean Type active: Yes/No 0
filterable boolean Type filterable: Yes/No 0
externalID string External ID 217112_9025
externalSystem string System reference 11
publicNoticeUrls
Field
id int Unique ID 1996627
publicNoticeUrlType string Type of announcement URL /public_notice_url_types/1
content string Text content https://www.simap.ch/de/project-detail/5427f2….
attachedCorrection boolean Correction linked: Yes/No 0
attachedAward boolean Results linked: Yes/No 0
attachedExante boolean Exante data linked: Yes/No 0
attachedTender boolean Tender linked: Yes/No 1
attachedProject boolean Project linked: Yes/No 1
accessible boolean Type accessible: Yes/No 1
externalID string External ID 217112
externalSystem string System reference 11
updatedAt datetime Last update 2024-05-09T19:27:27+00:00
accessible boolean Type accessible: Yes/No 1
unknown boolean Type unknown: Yes/No 0
mainCategory Not used for CH
projectRolePersons
Field Type Description Example
active boolean Type active: Yes/No 0
person
Field Type Description Example
id int Unique ID 1548945
salutationType
Field Type Description Example
id int Unique ID 33
code string Code 1
name string Name Herr
language
Field Type Description Example
id int Unique ID 1
code string Code FRA
name string Name Französisch
firstName string First name Lucas
lastName string Last name Baumann
street string Street Poststrasse 3
postcode string Postal code 9422
town string City Staad SG
contactSpecifications
Field Type Description Example
contactSpecificationType
Field Type Description Example
code string Code PHONE
name string Name Phone
content string Text content 071 335 00 15
active boolean Type active: Yes/No 1
externalID string External ID c1099161
externalSystem string System reference 8
projectRolePersonType
Field Type Description Example
id int Unique ID 9
code string Code CH_ARCHITECT
name string Name Architekt
sortOrder int Sorting 130
deprecated boolean Type deprecated: Yes/No 0
planningStageDates
Field Type Description Example
id int Unique ID 27447
planningStage
Field Type Description Example
id int Unique ID 19
code string Code CH_PASSED_IN
name string Name Baugesuch eingereicht
sortOrder int Sorting 4
planningStageDate datetime Planning stage date 2023-05-23T09:13:44+00:00