* reduce payload by removing unnecessary parts * introduce new endpoints if needed * optional: parameterize endpoints (where possible and needed) so that the response data is based on the parameters (similar to GraphQL)