@webapi_check_local_site
    @webapi_login_required
    @webapi_response_errors(DOES_NOT_EXIST, NOT_LOGGED_IN, PERMISSION_DENIED)
    @webapi_request_fields(required={
        'object_id': {
            'type': six.text_type,
            'description': 'The ID of the object to hide.',
        },
    })
    def create(self, request, object_id, *args, **kwargs):
        try:
            obj_kwargs = kwargs.copy()
            obj_kwargs[self.uri_object_key] = object_id
            review_request = resources.review_request.get_object(
                request, *args, **obj_kwargs)
            user = resources.user.get_object(request, *args, **kwargs)
        except (ReviewRequest.DoesNotExist, User.DoesNotExist):
            return DOES_NOT_EXIST

        visit, is_new = ReviewRequestVisit.objects.get_or_create(
            user=user,
            review_request=review_request,
            defaults={
                'visibility': self.visibility,
            })

        if not is_new and visit.visibility != self.visibility:
            visit.visibility = self.visibility
            visit.save(update_fields=['visibility'])

        return 201, {
            self.item_result_key: review_request,
        }
Handle HTTP POST operations.
dataset/ETHPy150Open reviewboard/reviewboard/reviewboard/webapi/resources/base_archived_object.py/BaseArchivedObjectResource.create