The Catalyst API has been evolving and adding different functionalities, endpoints and parameters as needed by the evolving platform requirements. Because of this needs, some changes while good decissions at the moment to unblock features, were not thought hollistically or now they may be causing too much unneded Data Transfer cost or have room for perfomance improvement for the Catalysts core processes like Bootstrapping and Synchronization.
After reviewing the Catalyst API we defined a set of changes to clean up and close a first version of the Catalyst Protocol. The changes that will be described below will enable us to:
List of API changes:
      Deprecated endpoints won't be part of the Catalyst Protocol definition but we may keep some of
      them as internal troubleshooting tools, these endpoints will require a key in order to be
      used. Those endpoints that will be removed from the Protocol but remain available for internal
      use, have the SECURE tag in the change description.
    
Endpoints not mentioned in the following list will not suffer any change.
| Endpoint | Deprecate YES/NO | Change Description | 
|---|---|---|
/content/deployments | 
          YES | 
            SECURE: This endpoint consumes DB resources inefficiently as it's
            equivalent to a SELECT ALL. This endpoint also has a complex UX with the application of
            many filters and a lot of parameters. We are going to tag this as TROUBLESHOOTING and
            add 2 new endpoints: one to retrieve the list of all pointers and another to retrieve
            the history of a given list of pointers. Catalyst synchronization will be done using
            /snapshots and /pointer-changes.
           | 
        
/content/pointers/{entityType} | 
          New endpoint | Given an entity type (scene, wearables) this endpoint returns the list of all the pointers paginated | 
/content/pointers/{entityType}/history?pointer=0,0&pointer=1,1 | 
          New endpoint | Given a list of pointers of the specified entity type, returns the history of deployments | 
/contents/{hashId}/active-entities | 
          NO | 
            SECURE: Change resource to /entities and include a parameter
            to expand it's functionality in order to be able to retrieve inactive entities
           | 
        
/content/failed-deployments | 
          YES | 
            SECURE: This endpoint should be removed from the public API, and only be
            used with a key for the Catalyst Monitor and for troubleshooting or the auto-fix
            deployments functionality
           | 
        
/lambdas/health | 
          NO | We need to add more information like the Unhealthy message. Currently you get an unhealthy state and no information about why the service is unhealthy | 
/lambdas/contentv2/scenes | 
          YES | Do we need the v2? this endpoint should be generic to retrieve the list of scenes of a given coordinates | 
/lambdas/contentv2/parcel_info | 
          YES | 
            The information provided by this endpoint is presnet in
            /content/entities/{entityType}?id={cid}. We are going to add some filters
            to the existing endpoint to help you select which part of the entity you want to
            retrieve, e.g. content, metadata
           | 
        
/lambdas/contentv2/contents/{cid} | 
          YES | There are old entities v2 that are still requested and may still be valid. We need to see if we can update these entities and deprecate this endpoint | 
/lambdas/crypto/validate-signature | 
          YES | 
            SECURE: This should be done with a library in the client side. Add a new
            lambda to return the Graph URL that we are using or add this information to the
            /lambdas/contracts/servers endpoint
           | 
        
/comms/islands | 
          YES | 
            SECURE: Remove from the public API and add a key to use this information
            for troubleshooting
           | 
        
/comms/islands/{islandId} | 
          YES | 
            SECURE: Remove from the public API and add a key to use this information
            for troubleshooting
           | 
        
/comms/peers | 
          YES | 
            SECURE: Remove from the public API and add a key to use this information
            for troubleshooting
           | 
        
Rejected by DAO
      /deployments: We are not aware if this endpoint is being used for anything else
      besides the Catalyst synchronization and bootstrapping processes.
    
      The fetchAllDeployments method from the
      Catalyst Client will only be
      available to be used by the Catalyst Servers in order to sync all the Content Service history.
    
The rest of the changes should not cause any impact on the Catalyst clients