diff --git a/src/groundlight/experimental_api.py b/src/groundlight/experimental_api.py index 8ca92fd8..90ef7470 100644 --- a/src/groundlight/experimental_api.py +++ b/src/groundlight/experimental_api.py @@ -534,6 +534,7 @@ def create_note( detector: Union[str, Detector], note: str, image: Union[str, bytes, Image.Image, BytesIO, BufferedReader, np.ndarray, None] = None, + is_pinned: bool = False, ) -> None: """ Adds a note to a given detector. @@ -568,7 +569,10 @@ def create_note( # self.notes_api.create_note(det_id, note, **kwargs) url = f"{self.endpoint}/v1/notes" files = {"image": ("image.jpg", img_bytes, "image/jpeg")} if img_bytes is not None else None - data = {"content": note} + data = { + "content": note, + "is_pinned": is_pinned, + } params = {"detector_id": det_id} headers = {"x-api-token": self.configuration.api_key["ApiToken"]} diff --git a/test/unit/test_notes.py b/test/unit/test_notes.py index bf99e3cf..48ef1a21 100644 --- a/test/unit/test_notes.py +++ b/test/unit/test_notes.py @@ -26,3 +26,15 @@ def test_note_with_image(gl_experimental: ExperimentalApi): if notes[i].content == "test_note": found_note = True assert found_note + + +def test_note_with_pin(gl_experimental: ExperimentalApi): + name = f"Test {datetime.utcnow()}" + det = gl_experimental.create_detector(name, "test_query") + gl_experimental.create_note(det, "test_note", "test/assets/cat.jpeg", is_pinned=True) + notes = (gl_experimental.get_notes(det).get("customer") or []) + (gl_experimental.get_notes(det).get("gl") or []) + found_note = False + for i in range(len(notes)): + if notes[i].is_pinned: + found_note = True + assert found_note