code: def retrieve_activity_profile(self, activity, profile_id):
          
          if not isinstance(activity, Activity):
              activity = Activity(activity)
  
          request = HTTPRequest(
              method="GET",
              resource="activities/profile",
              ignore404=True
          )
          request.query_params = {
              "profileId": profile_id,
              "activityId": activity.id
          }
          lrs_response = self._send_request(request)
  
          if lrs_response.success:
              doc = ActivityProfileDocument(
                  id=profile_id,
                  content=lrs_response.data,
                  activity=activity
              )
              headers = lrs_response.response.getheaders()
              if "lastModified" in headers and headers["lastModified"] is not None:
                  doc.timestamp = headers["lastModified"]
              if "contentType" in headers and headers["contentType"] is not None:
                  doc.content_type = headers["contentType"]
              if "etag" in headers and headers["etag"] is not None:
                  doc.etag = headers["etag"]
  
              lrs_response.content = doc
  
          return lrs_response
docs: Retrieve activity profile with the specified parameters
  
          :param activity: Activity object of the desired activity profile
          :type activity: :class:`tincan.activity.Activity`
          :param profile_id: UUID of the desired profile
          :type profile_id: str | unicode
          :return: LRS Response object with an activity profile doc as content
          :rtype: :class:`tincan.lrs_response.LRSResponse`