We would like to inform you of an important change in the BioStar 2 API behavior that may affect your integrations.


Summary of the Change

Starting from BioStar 2 v2.9.10, API endpoints will no longer accept trailing slashes ( / ) at the end of URLs.

  • Before v2.9.9 and below
    Both forms of API requests were accepted:

    • GET {ip}/api/endpoint

    • GET {ip}/api/endpoint/

  • From v2.9.10 and above
    Trailing slashes are not allowed:

    • ✅ Valid: GET {ip}/api/endpoint

    • ? Invalid: GET {ip}/api/endpoint/

This change affects all endpoints, including those listed in our API documentation that may have shown examples with trailing slashes.


Why Did This Happen?

This change is the result of an upgrade to the Spring Framework used in BioStar 2.

  • In the updated version, the automatic URL matching for trailing slashes (setUseTrailingSlashMatch) was deprecated and its default value changed to false.

  • As a result, requests with a trailing slash are now interpreted as a different endpoint and will not be processed.


Impact

Integrations that continue using trailing slashes will fail after upgrading to BioStar 2 v2.9.10 or higher.

Please ensure your integrations are updated before upgrading your BioStar 2 environment.


Affected Endpoints in the Documentation

On our main API documentation site (https://bs2api.biostar2.com/), two endpoints were previously shown with trailing slashes.

If you are using these APIs (or any other APIs with trailing slashes), please update them by removing the trailing slash.

We have already corrected the documentation to reflect the updated format.

  • List All Access Groups v2

    • POST /api/v2/access_groups/search/

    • POST /api/v2/access_groups/search

  • Check Card Availability

    • GET /api/v2/cards/registered/?card_id=123

    • GET /api/v2/cards/registered?card_id=123


Stay Updated
We have also recorded this change in our revision notes here: Revision Notes.
We encourage you to review the revision notes regularly for future updates.


What You Need to Do

  • Review your API integrations and remove any trailing slashes / at the end of the endpoint URLs.

  • Update any scripts, middleware, or API client code accordingly.

Example Fixes

  • POST {ip}/api/v2/access_groups/search/
    → ✅ POST {ip}/api/v2/access_groups/search

  • GET {ip}/api/v2/cards/registered/?card_id=123
    → ✅ GET {ip}/api/v2/cards/registered?card_id=123