def update_record(
    # TODO: Use the proper sdk API Model instead of the dict
    client: httpx.Client,
    id: Union[str, UUID],
    data: Dict[str, Any],
) -> Response[Union[FeedbackItemModel, ErrorMessage, HTTPValidationError]]:
    """Sends a `PATCH` request to `/api/v1/records/{id}` endpoint to partially update
    a record in Argilla.

    Args:
        client: the authenticated Argilla client to be used to send the request to the API.
        id: the id of the record to be updated in Argilla.
        data: the data to be updated in the record. It can contain `metadata` and/or
            `suggestions` fields.

    Returns:
        A `Response` object containing a `parsed` attribute with the parsed response if
        the request was successful, which is a `FeedbackItemModel`.
    """
    url = f"/api/v1/records/{id}"

    body = {}
    if "metadata" in data:
        body["metadata"] = data["metadata"]
    if "suggestions" in data:
        body["suggestions"] = data["suggestions"]
    if "vectors" in data:
        body["vectors"] = data["vectors"]

    response = client.patch(url=url, json=body)

    if response.status_code == 200:
        response_obj = Response.from_httpx_response(response)
        response_obj.parsed = FeedbackItemModel.parse_raw(response.content)
        return response_obj

    return handle_response_error(response)
Sends a `PATCH` request to `/api/v1/records/{id}` endpoint to partially update
    a record in Argilla.

    Args:
        client: the authenticated Argilla client to be used to send the request to the API.
        id: the id of the record to be updated in Argilla.
        data: the data to be updated in the record. It can contain `metadata` and/or
            `suggestions` fields.

    Returns:
        A `Response` object containing a `parsed` attribute with the parsed response if
        the request was successful, which is a `FeedbackItemModel`.
    
argilla-v1/src/argilla_v1/client/sdk/v1/records/api.py