code: def _delete_shape(api, task_id, label_id):
      anno_json = api.get(api.task_annotation_url(task_id)).json()
      shape = _find_shape(anno_json, label_id)
      if shape is not None:
          del_json = {
              "version": 1,
              "tags": [],
              "shapes": [shape],
              "tracks": [],
          }
          del_url = api.task_annotation_url(task_id) + "?action=delete"
          api.patch(del_url, json=del_json)
  
imports: from bson import ObjectId
  from collections import defaultdict
  import numpy
  import os
  import unittest
  import eta.core.utils
  import fiftyone
  import fiftyone.utils.cvat
  import fiftyone.zoo
  from fiftyone.core.expressions import ViewField
label_desc: Use image node_id 4 for calling a global function with example usage: _delete_shape(api, task_id, label_id) without return types