Simap API Changelog

The API Documentation can be found here.

Changelog v1.5.0

Add validation for usernames

Added validation for updating the users name to prevent special characters in the firstName and lastName for the endpoint /api/users/v1/my.

The forbidden characters are:

Breaking change?

No

Add additional WTO statistics filter types

Added new filter types to procOfficeTypeFilter for the WTO statistics export endpoint /api/statistics/v1/my/wto-statistics. Additional filter types are:

The entire_federal_administration can be only used by the role competence_centre_admin.

The cantonal_or_other_cantonal and communal_or_other_communal can be only used by the role simap_admin.

Only the roles competence_centre_admin and simap_admin can use the filter procOfficeTypeFilter.

Breaking change?

No

Allow the cpcCode in all project variants

Added the additional property cpcCode to the procurement and lot models of pubDrafts and publications. This affects tenders, study contracts, competitions and awards.

Now all project variants can use the optional cpcCode in their publications. Only in tender supply projects the cpc code is not allowed.

The usage of the cpcCode did not change. Is declared once per project / publication. In projects with lots it’s declared in the project procurement data, the same way as the main cpvCode.

The following models are affected:

Breaking change?

No

Allow tender projects with lots to change the orderType of individual lots

Added the new endpoint /api/pub-drafts/v1/tender/{pubDraftId}/lots/{lotId}/order-type that allows one to change the orderType of an individual tender lot.

This can only be done when the tender project is in the open or selective process. Also, the type of a lot can’t be changed in a correction or when the lot was already present in an advanced_notice.

The orderType chosen when creating the project will not change and is the main type for the project.

Only for the lot with changed type, the new type applies. This mostly affects the procurement information of a lot, the available fields and the applied validation. If a supply lot changes to a construction lot, now the validations of the construction type is used.

Use the existing discriminator properties on the tender lot (orderType) to differentiate between the different lot types.

For the editing of a draft publication, we added the canLotTypeBeChanged boolean property to the PubDraftBaseLot composition model. So every lot variant will inherit this property. For all non tender lots the value will be false.

For the type change we introduce the new error code E0080 - Cannot change the projectSubType of the given lot. Note; the projectSubType is the generic type that contains all sub types (orderType, competitionType, studyType) of the projects

The information of the lot type, the projectSubType, is added to the PubDraftLotDescription / PublicationLotDescription models that are used in the base models (PubDraftBase / PublicationBase), the details and the project headers.

Breaking change?

No, the polymorphism of the tender lots was already declared and the new properties are read-only.

So be aware that tender projects now can contain lots of different types / models.
Depending on your implementation you’ll need to adapt your handling of the lot data.

Add language filter to subscriptions

Added the ability to save the lang filter property to the subscriptions. Affected is the /api/subscriptions/v1/my endpoint.

The language filter, allows to search the indexed publications fields in the specified languages. If the property is not defined or empty and a search term is given, then we search in all languages.

Breaking change?

No

Add the projectSubType property to the ProjectTypeFields composition model

A bit of housekeeping, added the projectSubType property to the ProjectTypeFields composition model.

This affects the public and proc office project header and the following models of the submissions:

The orderType, studyType and competitionType properties where marked as deprecated as the projectSubType replaces these properties, provides the information in one field. So you no longer need to check three different properties.

The deprecated properties will be removed in a future release.

Breaking change?

No, be aware of the deprecations for the orderType, studyType and competitionType property.

Limit search term length to 1000 characters for projects and subscriptions

The search term length of the search parameter for projects and subscriptions has been limited to 1000 characters.

Affected endpoints:

Breaking change?

No

Add new validation error for publications in state contract area

New publications with state_cotract_area=true require either the creation language or a translation being a WTO-language.

Supported WTO languages are French and English.

If neither is the creation language nor a translation the new validation-error state_contract_requires_wto_language will be returned in the field project-info::stateContractArea of the validation response.

Note: the change does not apply for awards that follow existing publications that do not yet fulfill this requirement.

Breaking change?

No

Add flag hasProjectDocuments on publication-models

The new flag hasProjectDocuments indicates the presence of downloadable documents on the publication.

It’s independent of any user-role and therefore can be true even if e.g. anonymous user doesn’t have the sufficient privilege to actually download/view the documents.

Affected endpoints are namely:

Breaking Change?

No

Additional filter parameters to the search of vendors have been added.

Affected is the endpoint:

New filters include:

All filters are optional. The search input can now also be optional and is not mandatory anymore. But at least the search input or one of the filters has to be specified, a search query without a search input nor filter is not allowed. Filters and search input are combined using a logical AND.

Breaking change?

No

New endpoints to manage sustainability form triggers

The competence centre “Confederation” can now manage the sustainability form triggers with the following endpoints:

The product-categories are needed for the triggers and can not be changed. The categories do not have a translation and are only available in German.

The categories are available per competence-centre. As there are only categories for the competence-centre “Confederation” every other competence-centre will not be able to use this feature, which behaves as specified.


Changelog v1.4.0

History APIs

User History

Add new endpoints to get the own user’s history. A user can only get his own history. There are three new endpoints for the user history:

The response is sorted descending by last history modification.

Procurement Office History

Add new endpoints to get the procurement office’s history. Only procurement admins can access the history of procurement offices they are members of. There are three new endpoints for the procurement office history:

The response is sorted descending by last history modification.

Project History for Procurement Office

Add new endpoints to get the procurement office project’s history. All procurement office users can access the history of procurement office projects they are contributing to. There are seven new endpoints for the procurement office project history:

The response is sorted descending by last history modification.

Vendor History

Add new endpoints to get the vendor’s history. Only vendor admins can access the history of vendors they are members of. There are three new endpoints for the vendor history:

The response is sorted descending by last history modification.

Project History for Vendor Project

Add new endpoints to get the vendor project’s history. All vendor users can access the history of vendor projects they are contributing to. There are two new endpoints for the procurement office project history:

The response is sorted descending by last history modification.

Breaking change?

No

Vendor Digital Submission Documents - PDF signature validation

Newly uploaded PDF documents of a vendor digital submission will be checked if they contain valid digital signatures.

For this the VendorDigitalSubmissionDocument is updated. The signature property was added that contains the information about the validation status and date. The property is null for documents that are not pdf files.

A pdf is only correctly signed, valid, when the document has at least one signature and only contains valid signatures that are signed with a QES / ZertES compliant certificate.

When the pdf contains at least one signature that is not QES / ZertES compliant, the pdf is considered invalid even when that signature itself is valid.

See also the description on the PdfSignatures model.

Breaking change?

No, addition of new read only properties.

Deactivate Vendors

Added the ability to deactivate vendors at any time. This is a soft delete as the deactivated vendor can still be used in ongoing procurement projects. Deactivated vendors can not be added to a project by a proc office.

New endpoint DELETE /api/vendors/v1/my/deactivate for a vendor_admin to deactivate their vendor.

Additon of the read only active boolean flag to the InvolvedVendor model used by the proc office. Due to the composition, this adds the property also to the InvolvedVendorWithActions model.

Breaking change?

No, addition of a read-only property and a new endpoint.

Add projectSubType to the BasePublicationData composition model

Added the projectSubType to the BasePublicationData composition model. Through the composition the following models now receive the property:

Breaking change?

No, addition of a read-only property.

Rework of the APIs to retrieve the institution tree and the data of the public proc offices

Institution API changes

The GET /api/institutions/v1 endpoint is replaced by /api/institutions/v1/institutions that returns the institution tree as a flat list.

Updated the url from /api/institutions/v1/institution/{institutionId} to /api/institutions/v1/institutions/{institutionId}. Pluralize the institution to institutions part in the path for consistency.

Removal of the /api/institutions/v1/po/search endpoint. The search response with the tree hierarchy is no longer supported.
You need to migrate to the /api/procoffices/v1/po/public endpoint and use the search parameter to achieve the same functionality, searching for proc offices by name.

Amendment of the Institution model.

Removed the obsolete hasInstitutions and hasProcOffices properties.

Added parentInstitutionId and path properties to the model.

See the description on the model for more details.

Proc-Office API changes

The GET /api/procoffices/v1/treeview endpoint is replaced by /api/procoffices/v1/po/public.

You need to migrate to this endpoint and use the institutionId parameter on /api/procoffices/v1/po/public to achieve the same functionality.

Breaking change?

Yes

Removal of deprecated properties on the vendor objects

The deprecated property legalForm the of BaseVendor object has been removed. Use the property legalFormCode instead.

This change affects the following objects: - Vendor - VendorDetail - VendorCreate - VendorHistoryBaseDataEntry - not relevant as introduced with this release

As this is a breaking change, the API version of the following endpoints has been bumped to v2: - GET /api/vendors/v2/vendor/{vendorId} - PUT /api/vendors/v2/vendor/{vendorId} - PATCH /api/vendors/v2/vendor/{vendorId} - DELETE /api/vendors/v2/vendor/{vendorId} - POST /api/vendors/v2/verify-uid - POST /api/vendors/v2/verify-duns

Breaking change?

Yes

Update on the vendor project notification settings

Renamed the notifyOnSubmitDigitalSubmission to notificationsForDigitalSubmissions in the VendorUserNotificationSettings model. This setting now serves as a general flag for all digital submission-related notifications and not only for the submit action.

As this is a breaking change, the API version of the /api/vendors/v1/my/projects/{projectId}/my-notification-settings endpoint has been bumped to v2.

Breaking change?

Yes

Project Documents - update metadata of project document

Updated the ProjectDocumentUpdate model, removed the fileName property.

The fileName of a document can no longer be changed. This feature was already not available in the Simap GUI. The changing of the name is no longer allowed and it was not intended to be possible.

Also, with this change we allow the changing of metadata (langauge, note and lot association) after the publication was published.

Breaking change?

No, we don’t consider this a breaking change as exising request will sill work, the fileName property in the payload will be ignored.

Improvements Sustainability Form

Sustainability Export New Fields

Extended response of /api/statistics/v2/my/sustainability-export with additional fields:

Sustainability Form New/Adjusted Fields

New fields:

Adjusted type of fields:

Corrected behavior of fields:

Increase the api version of the following endpoints due to breaking changes:

Breaking change?

Yes (type changes)


Changelog v1.3.0

New flag offerDigitalExternalPlatform with offerDigitalExternalPlatformUrl

A new offer-type offer_digital_external_platform is added which indicates that vendor-submissions must be sent via an external digital platform. With it comes the field offerDigitalExternalPlatformUrl which points to the external platform.

offerDigitalExternalPlatformUrl will be sent to TED (BT-18) if the offer-type offer_digital_external_platform is present and offer-type offer_digital_simap is not.

For consistency reasons a general renaming has been done:

Affected by this renaming are following types, models and endpoints:

New action edit-internal-reference of a project for proc offices

To edit the internal-reference of a project for proc offices a new endpoint is added:

PATCH /api/procoffices/v1/my/projects/{projectId}/internal-reference

The corresponding action for editing the reference is available in the proc office project header; ProcOfficeProjectOtherActions.edit_internal_reference.

Also the addition of the limit of 70 chars for the internalReference. Previously only enforced in the frontend. The limit applies when creating a new project or updating the existing reference with the new patch endpoint.

Zip Download

Three new endpoints added:

The zip-download-endpoint provides a streaming output which allows downloading all the documents of a project as a zip-file (optional can be filtered for a specific lot or qna-round).

For every zip-download a token has to be obtained via the respective zip-token-endpoint. The returned token consists of all the necessary information for the download.

The zip-token-endpoints have the same filter-parameters as the search-endpoints:

Using the same filter-parameters the same documents will be returned/zipped.

Breaking change?

No

Allow not_specified for field contractDeadlineType on tenders

The model-validation allows the value not_specified for field contractDeadlineType. The related fields contractPeriod and contractDays must be null in such a case.

Following models contain this field:

Breaking change?

No

Refactored publications project-search, vendor and proc office projects-overview model and endpoints

Update the public project-search / vendor projects-overview model (ProjectsSearchEntry) and the proc-office (ProcOfficeProjectsOverview) model.

The returned projects now contain the data of the project-search-detail / projects-overview-detail endpoints.

You’ll find the lots data from the detail model on the returned entry with minor renaming of the properties for the new model.
The old project type properties, orderType, studyType, competitionType, are now available as a single value projectSubType.

Additionally the information about the latest orderAddress of the project or the available lots respectively. See the property descriptions in the models for more details abut the availability of the address.

As the project-search-detail / projects-overview-detail endpoints are redundant now, they are removed:

Also, the api version was bumped to v2 for the following endpoints:

New public project search filters

Addition of the following query parameters to filter projects in the public search:

For more details see the Documentation on the parameters on the /publications/v2/project/project-search endpoint.

Breaking change?

Yes

Updated version of the existing endpoints and removal of the redundant endpoints.

Updated Subscription model for the new public project search filters

Updated the SubscriptionFilters of the Subscription model. Added orderAddressCountryOnlySwitzerland and orderAddressCantons, the new filter parameters of the public project search.

Breaking change?

No, addition - new optional properties.

Static Content and Content Management

A new endpoint /api/static/v1/pages/{pageName} to fetch and update static content.

This new endpoint offers basic content management functionality and supports two roles:

Content Organization

Content is organized into pages and tabs, which define the structure and navigation where content components are displayed.

Predefined Structure

A fixed set of allowed page/tab combinations is available. These combinations are immutable and cannot be added or removed.

Flexible Content Assignment

Each page/tab combination can have multiple cards/content-components of any type assigned to it. These components must have a unique position within their tab. A tab can contain zero cards/content-components

Positioning Rules

The position of a component must:

Update the http method on the reject new proc office endpoint to be spec compliant

Transform the DELETE /api/procoffices/v1/po/{procOfficeId}/reject to a POST request to be compliant with the OpenAPI v3 specification that does not allow a DELETE request with a request body.

No further changes to the request / endpoint.

Breaking change?

Yes, change of the http method.

Note, as consumers you are probably not affected by this change, as this endpoint is used by the competence_centre_admin role and have no need to implement this endpoint as it’s used to administer newly registered proc offices.

Addition of missing discriminator properties that improve the deserialization of the json responses

Added the missing projectType discriminator property to the PubDraftDetail / PublicationDetail models. The property is used in the PublicationAdvanceNoticeDetailDiscriminator oneOf schema to determine the correct detail model.

Breaking change?

No, additional property on a read only model.

Error Codes

New Error Codes where added which can occur at /api/static/v1/pages/{pageName}:

Improved error-handling in case URL-fields contain an invalid url

If an invalid url is sent the error-code E0076 is returned now. Additionally, the affected fields will be listed in the error-response (field errors).

All endpoints where the request-model contains an url-field can throw this new error:


Changelog v1.2.1

New information and stricter validation for digital submissions of vendors

Added the hasDocuments property to the PublicProjectHeaderVendorDigitalSubmissionInfo model. The flag describes if a submission has any documents uploaded. Empty digital submissions can not be submitted.

PublicProjectHeaderVendorDigitalSubmissionInfo is part of the the PublicProjectHeader as latestVendorDigitalSubmission. See also the /api/publications/v2/project/{projectId}/project-header endpoint.

New dedicated error code, E0075 - Digital Submission without documents, for the submit of empty offers on /api/vendors/v1/my/digital-submissions/{vendorDigitalSubmissionId}/submit.

Breaking change?

No, addition of a new read only value.


Changelog v1.2.0

New release containing multiple major features like the implementation of:

Implementation of the invitation process

Implementation of the invitation process within the existing publications.

Create and edit pub drafts for the invitation process

Adaption of the existing api models for the invitation process on the following endpoints:

  1. /pub-drafts/v1/tender/{pubDraftId}/dates
  2. /pub-drafts/v1/competition/{pubDraftId}/dates
  3. /pub-drafts/v1/study-contract/{pubDraftId}/dates
  4. /pub-drafts/v1/pd/{pubDraftId}/detail
  5. /publications/v1/project/{projectId}/publication-details/{publicationId}
  6. /pub-drafts/v1/tender/{pubDraftId}/invited-vendors
  7. /pub-drafts/v1/competition/{pubDraftId}/invited-vendors
  8. /pub-drafts/v1/study-contract/{pubDraftId}/invited-vendors

Number 1 - 5 concerns date fields for the models in the invitation process:

Number 4-5, referencingPub on awards is now optional, as no reference to the tender may be added to an award in the invitation process if it is not publicly available.

Number 4-8, new step / new property invited-vendors in the details.

Proc office and vendor endpoints

New endpoints for the proc office and the vendors to process invitations to a project.

Proc office endpoint to invite vendors after the publication has been created
/procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/invite. Akin to the involveVendorInProject endpoint for projects in other process types.

Vendor endpoint for the rejection of an invitation to a project. /publications/v1/project/{projectId}/decline-invitation

Breaking change?

Yes, if you used the invitation models, but we don’t increase the api version for the affected endpoints as the invitation process was not previously supported and the existing models were marked as experimental.

Implementation of the rfi publication

Implementation of the RFI publication with their own process type no_process meaning an RFI project does not follow the regular procurement lifecycle and is technically not even a procurement project.

Renaming and amending of existing RFI detail models to PubDraftRfiBase, PublicationRfiBase. The TBD property was removed and the models now contains the fields used in the RFI.

Added new endpoints to create and edit an RFI publication akin to the other publication types.

Added the request_for_information to the ProjectSearchPubTypeFilter of the project search.

New endpoint for marking externally submitted RFI submissions /procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/rfi-physical-submission.

Breaking change?

Yes, if you used already existing RFI models, but we don’t increase the api version for the affected endpoints as the RFI was not previously supported and the existing models in the detail were marked as experimental.

Digital submission

New endpoints for the digital submissions of tenders for interested vendors and for the proc office to view the submissions after the set deadlines are reached.

New endpoints for the management of digital submissions by vendors for their projects.

New endpoints for managing the submission documents:

Note: the download of the submission documents is restricted to the proc office that manages the tender. This is due to security concerns regarding leaking of the submission documents within the vendor organization.

/vendor-digital-submission-documents/v1/docs/{vendorDigitalSubmissionDocumentId}/token /vendor-digital-submission-documents/v1/docs/{vendorDigitalSubmissionDocumentId}?token={token}

Proc Office Project Contributor

Creation of the new proc office member role procurement_project_contributor. New proc office members will start with this role. They have a reduced view, can only see the projects where they contribute and need to be invited by a procurement_user or procurement_admin. See the x-roles property on the endpoints.

New proc office member hierarchy:

  1. procurement_admin
  2. procurement_user
  3. procurement_project_contributor

procurement_project_contributor was added to the ProcOfficeRole, AssignableRole and RedirectRole.

New endpoints for projects for proc office users and admins see the projects contributors and manage them.

Amendment of existing endpoints for the new role

Vendor Profile

New endpoints to upload and manage vendor documents in the vendor profile. These documents can be used within a digital submission for a project

Amendment of existing endpoints

Added property legalFormCode to the vendor profile, replaces legalForm which was declared as deprecated and read-only value.

Added property businessPurpose to public vendor directory.

Deprecations

The property legalForm of the vendor is deprecated use the new legalFormCode field and migrate your data. The field will be removed in the next release / version.

Breaking change?

No, only additions and the obsolete field is read-only and marked as deprecated.

Project Header

The vendor actions required for digital submission are now mapped in the PublicProjectActions. The structure is akin to the ProjectHeader for the proc offices. The actions are divided according to the lot type of the tender.

Endpoint /publications/v1/project/{projectId}/project-header is replaced by v2 /publications/v2/project/{projectId}/project-header.

Changes to the vendor status and actions

Updated the values for the vendorStatus property, the ProjectInterestStatus is replaced by ProjectInvitedOrInterestedVendorStatus which contains the old interest_shown/ interest_withdrawn values in addition to the invited / invitation_declined values for projects in the invitation process.

The ProjectInterestStatus remains in use for the mark interest /publications/v1/project/{projectId}/interest request.

Breaking change?

Yes, migrate to the v2 of the endpoint and handle the updated model. The actions are only available for vendors but the change affects all as the endpoint is used for the general project data.

offer / participation protocol

Endpoints adjusted to follow naming convention for consistency: - /procoffices/v1/my/projects/{projectId}/offer_protocol -> /procoffices/v2/my/projects/{projectId}/offer-protocol - /procoffices/v1/my/projects/{projectId}/participation_protocol -> /procoffices/v2/my/projects/{projectId}/participation-protocol

Extended the model of the /procoffices/v2/my/projects/{projectId}/offer-protocol with the offerDeadline property.

Extended the model of the /procoffices/v2/my/projects/{projectId}/participation-protocol with the participationDeadline property

Breaking change?

Yes

Proc office involved vendors

With a bugfix for the date-time field for the involved vendors of a project, the updatedAt property of the InvolvedVendor model was renamed to statusChangedAt. This was done to use a more descriptive name and prevent misunderstandings, as the model carries various dates and the property is the date-time for the displayed status.

Also the property type was changed from date-time to the DateOptionalTime object, to correctly return values that exists for the recorded submission dates.

The api version was bumped to v2 for the affected proc-office endpoints: * /procoffices/v2/my/projects/{projectId}/involved-vendors * /procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId} * /procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/invite * /procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/offer-physical-submission * /procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/participation-physical-submission * /procoffices/v2/my/projects/{projectId}/involved-vendors/{vendorId}/rfi-physical-submission

Breaking change?

Yes, the model for the InvolvedVendor, InvolvedVendorWithActions & InvolvedVendorProtocolResult changed, update the model and the version of the affected endpoints.

Project search and subscriptions with CPC code

New query parameter and property cpcCodes for the public search /publications/v1/project/project-search and the subscription model.

Breaking change?

No, cpcCodes is listed as an optional parameter / property.

CPC Code Cleanup

Model for CPC code adjusted with other code models. On the CPCCode model, id renamed to code.

Increased the version of the cpc code endpoint: /codes/v2/cpc

Breaking change?

Yes, renamed property.

Publication Templates

Create publication templates using the /pub-drafts/v1/pd/{pubDraftId} create endpoint. New additional property isTemplateflag, set to true to create a template. Also competence_centre_admin can also create templates and only templates via this endpoint.

Proc office can use the templates via the /pub-drafts/v1/pd/{pubDraftId} create endpoint. Set the new property createFromTemplateProjectId to create a new project based on a template. See the example payload in the api doc.

In addition:

Removal of the property procOfficeId from the create payload as this was redundant. The backend uses the organizationId from the user context to create the project and publication.

New endpoints for obtaining and searching the templates.

Breaking change?

No. Because the creation of a publication with a different procOfficeId than the one in the user context was not technically possible and would result in a Bad Request. The request is still accepted when the procOfficeId is provided. It’s just ignored thus no breaking change due to the removal of the property.

Copy Publication

New endpoint to copy an existing base / initial publication /pub-drafts/v1/pd/{pubDraftId}/copy. Create a new project / draft publication on the basis of the referenced publication. Only initial publication types (rfi, advanced_notice, call_for_bids) can be the target of the copy. Can’t copy an award without a previous published tender publication.

Changes for TED-Update

With the update to TED-SDK 1.12.0 awards that are published on TED are now required to have a price_of_selected_offers defined. price_range_of_selected_offers is no longer allowed and will therefore produce a validation error.

Error Codes

New Error Codes where added

Document File Formats

Allow additional file formats for documents. The following formats were added:

file ending canonical content types description
.7z application/x-7z-compressed 7-zip archive
.dwg application/acad, image/vnd.dwg AutoCAD file
.01s application/octet-stream SIA 451-Datei (CRB proprietary format)

Added the mentioned content types to DocumentContentType.

Now files with these formats can be used for all document uploads and can be expected in document downloads.

Breaking change?

No, only additions to the DocumentContentType list.


Changelog v1.0.2

Update the Redirect Context Model

Adaptation of the enum of the role property of the RedirectContext.

New enum RedirectRole that contains the previous roles of the previously used enum AssignableRole plus the new value any for better handling of the role change via redirect.

any - any role can be used in the redirect i.e. the user must log-in / be logged-in for the redirect.

Breaking change?

No, the payload only has an additional value.


Changelog v1.0.0

Release version