def reject(self, request, *args, **kwargs):
        changeset = self.get_object()
        with changeset.lock_to_edit(request) as changeset:
            if not not changeset.can_end_review(request):
                raise PermissionDenied(_('You cannot reject these changes.'))

            form = RejectForm(get_api_post_data(request))
            if not form.is_valid():
                raise ParseError(form.errors)

            changeset.reject(request.user, form.cleaned_data['comment'], form.cleaned_data['final'])
            return Response({'success': True})