code: def retrieve_state_ids(self, activity, agent, registration=None, since=None):
          
          if not isinstance(activity, Activity):
              activity = Activity(activity)
  
          if not isinstance(agent, Agent):
              agent = Agent(agent)
  
          request = HTTPRequest(
              method="GET",
              resource="activities/state"
          )
          request.query_params = {
              "activityId": activity.id,
              "agent": agent.to_json(self.version)
          }
  
          if registration is not None:
              request.query_params["registration"] = registration
          if since is not None:
              request.query_params["since"] = since
  
          lrs_response = self._send_request(request)
  
          if lrs_response.success:
              lrs_response.content = json.loads(lrs_response.data)
  
          return lrs_response
docs: Retrieve state id's from the LRS with the provided parameters
  
          :param activity: Activity object of desired states
          :type activity: :class:`tincan.activity.Activity`
          :param agent: Agent object of desired states
          :type agent: :class:`tincan.agent.Agent`
          :param registration: Registration UUID of desired states
          :type registration: str | unicode
          :param since: Retrieve state id's since this time
          :type since: str | unicode
          :return: LRS Response object with the retrieved state id's as content
          :rtype: :class:`tincan.lrs_response.LRSResponse`