The page shows which endpoints will be impacted, providing ample time and warning for affected users to transition to an alternative solution. Users may need to update their code, adjust settings, or search for a different endpoint. Staying up-to-date with API changes is essential to ensure the proper functioning of applications.
Deprecation refers to the process of phasing out or discontinuing an API. PlexTrac will no longer support it, even though it may still be operational.
Sunsetting means that the API will be removed and not function.
Breaking Changes are modifications that render current solutions ineffective, causing existing code or integrations to fail or produce incorrect results, even if the endpoint itself is not changing.
Deprecations
The following table serves as a quick reference guide to all the changes made, offering a concise summary for easy navigation. Each entry is designed to provide a snapshot of the modifications, enabling users to grasp the key points quickly.
After the table, expandable sections divided by release are included for those seeking more in-depth information. By clicking on these sections, users can access detailed explanations, context, and additional insights related to each change.
APIs below will be removed from the codebase on the posted Sunset Date.
Additional Information By Release
Release 1.53 - May 8, 2023
Deprecated endpoint name: Get Analytics Bootstrap Findings - GET /api/v1/clients/analytics/bootstrap
Context: Deprecating legacy bootstrap implementation of analytics.
Replacement: none
Release 1.51 - April 6, 2023
Deprecated endpoint name: GET /api/v1/clients/analytics/export
Context: The legacy endpoint had poor performance and was no longer used by the PlexTrac frontend.
Replacement: none
-----
Deprecated endpoint name: GET /api/v1/flaws
Context: This endpoint was returning an empty array with no data.
Replacement:
These replacements provide similar functionality but don't retrieve all findings across an instance.
Deprecated endpoint name: GET /api/v1/clients/findings
Context: The v1 endpoint returned finding information for all clients across the tenant. This resulted in poor performance and was deprecated in favor of data segmentation by client to improve performance.
Replacement:
The replacement provides similar functionality but doesn't retrieve all findings across an instance.
Context: Deprecating legacy implementation of analytics.
Replacement: none
Release 1.61 - November 7, 2023
Deprecated endpoint name: Import Client Assets v1 - POST /api/v1/client/{clientId}/assets/import/{source}
Context: This endpoint has been marked as deprecated in our Postman docs since adding the v2 endpoint with the same functionality, but was not planned for immediate removal.
Replacement: Import Client Assets v2 - POST /api/v2/client/{clientId}/assets/import/{source}
Release 2.0 - January 2, 2023
Deprecated endpoint name: Get Affected Assets by Finding - GET/api/v2/clients/{clientId}/reports/{reportId}/flaws/{flawId}/affected_assets
Context: This endpoint returns a subset of the finding information regarding the affected assets. In order to minimize the number of endpoints we have to maintained, this is being deprecated in favor of using the endpoint that retrieves the entire finding, including the affected asset information from this endpoint.
Replacement: Get Finding - GET /api/v1/client/{clientId}/report/{reportId}/flaw/{findingId}
Release 2.1 - January 30, 2023
Deprecated endpoint name:Bulk Get Evidence - POST /api/v2/tenant/{{tenantId}}/client/{{clientId}}/report/{{reportId}}/finding/{{findingId}}/asset/evidence
Context: A bug in evidence handling was identified where the same evidence could be linked to multiple affected assets, leading to unintended modifications. As a result, the endpoint will be deprecated due to changes in the response, which now includes duplicate data for certain evidence objects. Acknowledging this modification and adjusting implementations accordingly before the endpoint is sunset is crucial.
Overview of Changes
Important: The response will change and contain seemingly duplicate evidence entries in version 1.62. The endpoint will be removed in version 1.63.
Replacement:Get Scanner Output - GET /api/v1/client/{{clientId}}/report/{{reportId}}/flaw/{{findingId}}/asset/{{assetId}}/scanoutput
Context: This endpoint has a V2 that was created to fix performance issues. The V2 endpoint does not leave the HTTP request open throughout the entire import process, removing the possibility that the request could fail due to timeout errors on larger imports.
The V1 endpoint will be removed in favor of the V2 endpoint. Please read the differences between endpoints! Updating to the V2 endpoint is not as simple as replacing the route.
Get Assets by Client (client-specific assets)
- only has a count of related findings with no finding information
- no child assets information
List Report Assets (report-specific assets)
+ full related finding information and count of related findings
+ includes child asset information
Breaking Changes
This section includes modifications in an API update incompatible with the previous version, potentially causing existing code or integrations to fail. Breaking changes can involve the removal of functionality, modification of behavior, changes in response structure or input requirements, and altering data types or values.
The following table serves as a quick reference guide to all the changes made, offering a concise summary for easy navigation. Each entry is designed to provide a snapshot of the modifications, enabling users to grasp the key points quickly.
After the table, expandable sections divided by release are included for those seeking more in-depth information. By clicking on these sections, users can access detailed explanations, context, and additional insights related to each change.
Additional Information By Release
Decouple Finding/Assets - November 7, 2023
Summary: This change has been carefully designed to enhance your experience by speeding up the delivery of a more concise data set. We are proactively contacting you to ensure that there will be no data disruption on your account.
Details:
Get Finding API Functionality: The Get Finding endpoint returns the finding information about the finding and related affected assets. The standard use case for this endpoint is to gather data relevant to the finding of the findingId specified in the request. Currently, the returned affected asset information also references relational data to other findings not specified in the request.
What's changing: This update modifies the data that will be returned using the Get Finding endpoint. We have increased performance and security by maintaining the findings and related assets and excluding the third level of data (data for every other finding related to each affected asset in the requested finding) in the returned data set. If you were using the Get Finding endpoint to access these findings related to an asset, please see the recommended routes below.
Routes for Accessing Findings Related to an Asset: We understand that you might have specific requirements for other data needed. To address this, we have existing designated routes to get you access to findings related to an asset. The Get Asset route will retrieve a single record, or for multiple records in a single request, use the List Client Assets route.
Impacted Endpoints:
Get Finding - GET /api/v1/client/{{clientId}}/report/{{reportId}}/flaw/{{findingId}}
Update RBAC ID Values - August 21, 2023
Summary: Replaces the randomly generated roleID with set values.
Details: Currently, the admin, standard, and analyst roleID are randomly generated when the tenancy is created. In the future, this will be a standard set value. Users must locate all occurrences of this variable and update the endpoint.
For example, with the admin role, change /api/v2/tenants/0/security/role/cl75q1auk00040yoff389h206 (random roleID value) to /api/v2/tenants/0/security/role/cljhc9ggj000008l99gkyai90 (the new standard value).
Release 1.58 will implement this modification, supporting the legacy and the new solution. Release 1.59 will no longer provide support for the legacy method.
The new set ID values for each default RBAC role are listed below.
ADMIN: cljhc9ggj000008l99gkyai90
STD_USER: cljhc9rvn000208l9g4lpai54
ANALYST: cljhc9yh1000308l9ar7j8mux
Impacted Endpoints:
GET /api/v2/tenants/{tenantId}/security/role/{roleId}
PUT /api/v2/tenants/{tenantId}/security/role/{roleId}/info
PUT /api/v2/tenants/{tenantId}/security/role/{roleId}/permissions