# coding: utf-8

"""
    Arthur GenAI Engine

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

    The version of the OpenAPI document: 2.1.294
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501

import warnings
from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
from typing import Any, Dict, List, Optional, Tuple, Union
from typing_extensions import Annotated

from pydantic import Field, StrictInt, StrictStr
from typing import Optional
from typing_extensions import Annotated
from _generated.models.continuous_eval_create_request import ContinuousEvalCreateRequest
from _generated.models.continuous_eval_rerun_response import ContinuousEvalRerunResponse
from _generated.models.continuous_eval_response import ContinuousEvalResponse
from _generated.models.continuous_eval_run_status import ContinuousEvalRunStatus
from _generated.models.list_agentic_annotations_response import ListAgenticAnnotationsResponse
from _generated.models.list_continuous_evals_response import ListContinuousEvalsResponse
from _generated.models.pagination_sort_method import PaginationSortMethod
from _generated.models.update_continuous_eval_request import UpdateContinuousEvalRequest

from _generated.api_client import ApiClient, RequestSerialized
from _generated.api_response import ApiResponse
from _generated.rest import RESTResponseType


class ContinuousEvalsApi:
    """NOTE: This class is auto generated by OpenAPI Generator
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    def __init__(self, api_client=None) -> None:
        if api_client is None:
            api_client = ApiClient.get_default()
        self.api_client = api_client


    @validate_call
    def create_continuous_eval_api_v1_tasks_task_id_continuous_evals_post(
        self,
        task_id: StrictStr,
        continuous_eval_create_request: ContinuousEvalCreateRequest,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ContinuousEvalResponse:
        """Create a continuous eval

        Create a continuous eval

        :param task_id: (required)
        :type task_id: str
        :param continuous_eval_create_request: (required)
        :type continuous_eval_create_request: ContinuousEvalCreateRequest
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._create_continuous_eval_api_v1_tasks_task_id_continuous_evals_post_serialize(
            task_id=task_id,
            continuous_eval_create_request=continuous_eval_create_request,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ContinuousEvalResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data


    @validate_call
    def create_continuous_eval_api_v1_tasks_task_id_continuous_evals_post_with_http_info(
        self,
        task_id: StrictStr,
        continuous_eval_create_request: ContinuousEvalCreateRequest,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[ContinuousEvalResponse]:
        """Create a continuous eval

        Create a continuous eval

        :param task_id: (required)
        :type task_id: str
        :param continuous_eval_create_request: (required)
        :type continuous_eval_create_request: ContinuousEvalCreateRequest
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._create_continuous_eval_api_v1_tasks_task_id_continuous_evals_post_serialize(
            task_id=task_id,
            continuous_eval_create_request=continuous_eval_create_request,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ContinuousEvalResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )


    @validate_call
    def create_continuous_eval_api_v1_tasks_task_id_continuous_evals_post_without_preload_content(
        self,
        task_id: StrictStr,
        continuous_eval_create_request: ContinuousEvalCreateRequest,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Create a continuous eval

        Create a continuous eval

        :param task_id: (required)
        :type task_id: str
        :param continuous_eval_create_request: (required)
        :type continuous_eval_create_request: ContinuousEvalCreateRequest
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._create_continuous_eval_api_v1_tasks_task_id_continuous_evals_post_serialize(
            task_id=task_id,
            continuous_eval_create_request=continuous_eval_create_request,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ContinuousEvalResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        return response_data.response


    def _create_continuous_eval_api_v1_tasks_task_id_continuous_evals_post_serialize(
        self,
        task_id,
        continuous_eval_create_request,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:

        _host = None

        _collection_formats: Dict[str, str] = {
        }

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if task_id is not None:
            _path_params['task_id'] = task_id
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if continuous_eval_create_request is not None:
            _body_params = continuous_eval_create_request


        # set the HTTP header `Accept`
        if 'Accept' not in _header_params:
            _header_params['Accept'] = self.api_client.select_header_accept(
                [
                    'application/json'
                ]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params['Content-Type'] = _content_type
        else:
            _default_content_type = (
                self.api_client.select_header_content_type(
                    [
                        'application/json'
                    ]
                )
            )
            if _default_content_type is not None:
                _header_params['Content-Type'] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = [
            'API Key'
        ]

        return self.api_client.param_serialize(
            method='POST',
            resource_path='/api/v1/tasks/{task_id}/continuous_evals',
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth
        )




    @validate_call
    def delete_continuous_eval_api_v1_continuous_evals_eval_id_delete(
        self,
        eval_id: Annotated[StrictStr, Field(description="The id of the continuous eval to delete.")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> None:
        """Delete a continuous eval

        Delete a continuous eval

        :param eval_id: The id of the continuous eval to delete. (required)
        :type eval_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._delete_continuous_eval_api_v1_continuous_evals_eval_id_delete_serialize(
            eval_id=eval_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '204': None,
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data


    @validate_call
    def delete_continuous_eval_api_v1_continuous_evals_eval_id_delete_with_http_info(
        self,
        eval_id: Annotated[StrictStr, Field(description="The id of the continuous eval to delete.")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[None]:
        """Delete a continuous eval

        Delete a continuous eval

        :param eval_id: The id of the continuous eval to delete. (required)
        :type eval_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._delete_continuous_eval_api_v1_continuous_evals_eval_id_delete_serialize(
            eval_id=eval_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '204': None,
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )


    @validate_call
    def delete_continuous_eval_api_v1_continuous_evals_eval_id_delete_without_preload_content(
        self,
        eval_id: Annotated[StrictStr, Field(description="The id of the continuous eval to delete.")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Delete a continuous eval

        Delete a continuous eval

        :param eval_id: The id of the continuous eval to delete. (required)
        :type eval_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._delete_continuous_eval_api_v1_continuous_evals_eval_id_delete_serialize(
            eval_id=eval_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '204': None,
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        return response_data.response


    def _delete_continuous_eval_api_v1_continuous_evals_eval_id_delete_serialize(
        self,
        eval_id,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:

        _host = None

        _collection_formats: Dict[str, str] = {
        }

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if eval_id is not None:
            _path_params['eval_id'] = eval_id
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter


        # set the HTTP header `Accept`
        if 'Accept' not in _header_params:
            _header_params['Accept'] = self.api_client.select_header_accept(
                [
                    'application/json'
                ]
            )


        # authentication setting
        _auth_settings: List[str] = [
            'API Key'
        ]

        return self.api_client.param_serialize(
            method='DELETE',
            resource_path='/api/v1/continuous_evals/{eval_id}',
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth
        )




    @validate_call
    def get_continuous_eval_by_id_api_v1_continuous_evals_eval_id_get(
        self,
        eval_id: Annotated[StrictStr, Field(description="The id of the continuous eval to retrieve.")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ContinuousEvalResponse:
        """Get a continuous eval by id

        Get a continuous eval by id

        :param eval_id: The id of the continuous eval to retrieve. (required)
        :type eval_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._get_continuous_eval_by_id_api_v1_continuous_evals_eval_id_get_serialize(
            eval_id=eval_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ContinuousEvalResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data


    @validate_call
    def get_continuous_eval_by_id_api_v1_continuous_evals_eval_id_get_with_http_info(
        self,
        eval_id: Annotated[StrictStr, Field(description="The id of the continuous eval to retrieve.")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[ContinuousEvalResponse]:
        """Get a continuous eval by id

        Get a continuous eval by id

        :param eval_id: The id of the continuous eval to retrieve. (required)
        :type eval_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._get_continuous_eval_by_id_api_v1_continuous_evals_eval_id_get_serialize(
            eval_id=eval_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ContinuousEvalResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )


    @validate_call
    def get_continuous_eval_by_id_api_v1_continuous_evals_eval_id_get_without_preload_content(
        self,
        eval_id: Annotated[StrictStr, Field(description="The id of the continuous eval to retrieve.")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get a continuous eval by id

        Get a continuous eval by id

        :param eval_id: The id of the continuous eval to retrieve. (required)
        :type eval_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._get_continuous_eval_by_id_api_v1_continuous_evals_eval_id_get_serialize(
            eval_id=eval_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ContinuousEvalResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        return response_data.response


    def _get_continuous_eval_by_id_api_v1_continuous_evals_eval_id_get_serialize(
        self,
        eval_id,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:

        _host = None

        _collection_formats: Dict[str, str] = {
        }

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if eval_id is not None:
            _path_params['eval_id'] = eval_id
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter


        # set the HTTP header `Accept`
        if 'Accept' not in _header_params:
            _header_params['Accept'] = self.api_client.select_header_accept(
                [
                    'application/json'
                ]
            )


        # authentication setting
        _auth_settings: List[str] = [
            'API Key'
        ]

        return self.api_client.param_serialize(
            method='GET',
            resource_path='/api/v1/continuous_evals/{eval_id}',
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth
        )




    @validate_call
    def list_continuous_eval_run_results_api_v1_tasks_task_id_continuous_evals_results_get(
        self,
        task_id: StrictStr,
        sort: Annotated[Optional[PaginationSortMethod], Field(description="Sort the results (asc/desc)")] = None,
        page_size: Annotated[Optional[StrictInt], Field(description="Page size. Default is 10. Must be greater than 0 and less than 5000.")] = None,
        page: Annotated[Optional[StrictInt], Field(description="Page number")] = None,
        id: Annotated[Optional[StrictStr], Field(description="ID of the continuous eval to filter on.")] = None,
        continuous_eval_id: Annotated[Optional[StrictStr], Field(description="ID of the continuous eval to filter on.")] = None,
        trace_id: Annotated[Optional[StrictStr], Field(description="Trace ID to filter on.")] = None,
        annotation_score: Annotated[Optional[StrictInt], Field(description="Annotation score to filter on.")] = None,
        run_status: Annotated[Optional[ContinuousEvalRunStatus], Field(description="Run status to filter on.")] = None,
        created_after: Annotated[Optional[StrictStr], Field(description="Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC).")] = None,
        created_before: Annotated[Optional[StrictStr], Field(description="Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC).")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ListAgenticAnnotationsResponse:
        """Get all continuous eval run results for a specific task

        Get all continuous eval run results for a specific task

        :param task_id: (required)
        :type task_id: str
        :param sort: Sort the results (asc/desc)
        :type sort: PaginationSortMethod
        :param page_size: Page size. Default is 10. Must be greater than 0 and less than 5000.
        :type page_size: int
        :param page: Page number
        :type page: int
        :param id: ID of the continuous eval to filter on.
        :type id: str
        :param continuous_eval_id: ID of the continuous eval to filter on.
        :type continuous_eval_id: str
        :param trace_id: Trace ID to filter on.
        :type trace_id: str
        :param annotation_score: Annotation score to filter on.
        :type annotation_score: int
        :param run_status: Run status to filter on.
        :type run_status: ContinuousEvalRunStatus
        :param created_after: Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC).
        :type created_after: str
        :param created_before: Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC).
        :type created_before: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._list_continuous_eval_run_results_api_v1_tasks_task_id_continuous_evals_results_get_serialize(
            task_id=task_id,
            sort=sort,
            page_size=page_size,
            page=page,
            id=id,
            continuous_eval_id=continuous_eval_id,
            trace_id=trace_id,
            annotation_score=annotation_score,
            run_status=run_status,
            created_after=created_after,
            created_before=created_before,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ListAgenticAnnotationsResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data


    @validate_call
    def list_continuous_eval_run_results_api_v1_tasks_task_id_continuous_evals_results_get_with_http_info(
        self,
        task_id: StrictStr,
        sort: Annotated[Optional[PaginationSortMethod], Field(description="Sort the results (asc/desc)")] = None,
        page_size: Annotated[Optional[StrictInt], Field(description="Page size. Default is 10. Must be greater than 0 and less than 5000.")] = None,
        page: Annotated[Optional[StrictInt], Field(description="Page number")] = None,
        id: Annotated[Optional[StrictStr], Field(description="ID of the continuous eval to filter on.")] = None,
        continuous_eval_id: Annotated[Optional[StrictStr], Field(description="ID of the continuous eval to filter on.")] = None,
        trace_id: Annotated[Optional[StrictStr], Field(description="Trace ID to filter on.")] = None,
        annotation_score: Annotated[Optional[StrictInt], Field(description="Annotation score to filter on.")] = None,
        run_status: Annotated[Optional[ContinuousEvalRunStatus], Field(description="Run status to filter on.")] = None,
        created_after: Annotated[Optional[StrictStr], Field(description="Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC).")] = None,
        created_before: Annotated[Optional[StrictStr], Field(description="Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC).")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[ListAgenticAnnotationsResponse]:
        """Get all continuous eval run results for a specific task

        Get all continuous eval run results for a specific task

        :param task_id: (required)
        :type task_id: str
        :param sort: Sort the results (asc/desc)
        :type sort: PaginationSortMethod
        :param page_size: Page size. Default is 10. Must be greater than 0 and less than 5000.
        :type page_size: int
        :param page: Page number
        :type page: int
        :param id: ID of the continuous eval to filter on.
        :type id: str
        :param continuous_eval_id: ID of the continuous eval to filter on.
        :type continuous_eval_id: str
        :param trace_id: Trace ID to filter on.
        :type trace_id: str
        :param annotation_score: Annotation score to filter on.
        :type annotation_score: int
        :param run_status: Run status to filter on.
        :type run_status: ContinuousEvalRunStatus
        :param created_after: Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC).
        :type created_after: str
        :param created_before: Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC).
        :type created_before: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._list_continuous_eval_run_results_api_v1_tasks_task_id_continuous_evals_results_get_serialize(
            task_id=task_id,
            sort=sort,
            page_size=page_size,
            page=page,
            id=id,
            continuous_eval_id=continuous_eval_id,
            trace_id=trace_id,
            annotation_score=annotation_score,
            run_status=run_status,
            created_after=created_after,
            created_before=created_before,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ListAgenticAnnotationsResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )


    @validate_call
    def list_continuous_eval_run_results_api_v1_tasks_task_id_continuous_evals_results_get_without_preload_content(
        self,
        task_id: StrictStr,
        sort: Annotated[Optional[PaginationSortMethod], Field(description="Sort the results (asc/desc)")] = None,
        page_size: Annotated[Optional[StrictInt], Field(description="Page size. Default is 10. Must be greater than 0 and less than 5000.")] = None,
        page: Annotated[Optional[StrictInt], Field(description="Page number")] = None,
        id: Annotated[Optional[StrictStr], Field(description="ID of the continuous eval to filter on.")] = None,
        continuous_eval_id: Annotated[Optional[StrictStr], Field(description="ID of the continuous eval to filter on.")] = None,
        trace_id: Annotated[Optional[StrictStr], Field(description="Trace ID to filter on.")] = None,
        annotation_score: Annotated[Optional[StrictInt], Field(description="Annotation score to filter on.")] = None,
        run_status: Annotated[Optional[ContinuousEvalRunStatus], Field(description="Run status to filter on.")] = None,
        created_after: Annotated[Optional[StrictStr], Field(description="Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC).")] = None,
        created_before: Annotated[Optional[StrictStr], Field(description="Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC).")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get all continuous eval run results for a specific task

        Get all continuous eval run results for a specific task

        :param task_id: (required)
        :type task_id: str
        :param sort: Sort the results (asc/desc)
        :type sort: PaginationSortMethod
        :param page_size: Page size. Default is 10. Must be greater than 0 and less than 5000.
        :type page_size: int
        :param page: Page number
        :type page: int
        :param id: ID of the continuous eval to filter on.
        :type id: str
        :param continuous_eval_id: ID of the continuous eval to filter on.
        :type continuous_eval_id: str
        :param trace_id: Trace ID to filter on.
        :type trace_id: str
        :param annotation_score: Annotation score to filter on.
        :type annotation_score: int
        :param run_status: Run status to filter on.
        :type run_status: ContinuousEvalRunStatus
        :param created_after: Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC).
        :type created_after: str
        :param created_before: Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC).
        :type created_before: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._list_continuous_eval_run_results_api_v1_tasks_task_id_continuous_evals_results_get_serialize(
            task_id=task_id,
            sort=sort,
            page_size=page_size,
            page=page,
            id=id,
            continuous_eval_id=continuous_eval_id,
            trace_id=trace_id,
            annotation_score=annotation_score,
            run_status=run_status,
            created_after=created_after,
            created_before=created_before,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ListAgenticAnnotationsResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        return response_data.response


    def _list_continuous_eval_run_results_api_v1_tasks_task_id_continuous_evals_results_get_serialize(
        self,
        task_id,
        sort,
        page_size,
        page,
        id,
        continuous_eval_id,
        trace_id,
        annotation_score,
        run_status,
        created_after,
        created_before,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:

        _host = None

        _collection_formats: Dict[str, str] = {
        }

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if task_id is not None:
            _path_params['task_id'] = task_id
        # process the query parameters
        if sort is not None:
            
            _query_params.append(('sort', sort.value))
            
        if page_size is not None:
            
            _query_params.append(('page_size', page_size))
            
        if page is not None:
            
            _query_params.append(('page', page))
            
        if id is not None:
            
            _query_params.append(('id', id))
            
        if continuous_eval_id is not None:
            
            _query_params.append(('continuous_eval_id', continuous_eval_id))
            
        if trace_id is not None:
            
            _query_params.append(('trace_id', trace_id))
            
        if annotation_score is not None:
            
            _query_params.append(('annotation_score', annotation_score))
            
        if run_status is not None:
            
            _query_params.append(('run_status', run_status.value))
            
        if created_after is not None:
            
            _query_params.append(('created_after', created_after))
            
        if created_before is not None:
            
            _query_params.append(('created_before', created_before))
            
        # process the header parameters
        # process the form parameters
        # process the body parameter


        # set the HTTP header `Accept`
        if 'Accept' not in _header_params:
            _header_params['Accept'] = self.api_client.select_header_accept(
                [
                    'application/json'
                ]
            )


        # authentication setting
        _auth_settings: List[str] = [
            'API Key'
        ]

        return self.api_client.param_serialize(
            method='GET',
            resource_path='/api/v1/tasks/{task_id}/continuous_evals/results',
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth
        )




    @validate_call
    def list_continuous_evals_api_v1_tasks_task_id_continuous_evals_get(
        self,
        task_id: StrictStr,
        sort: Annotated[Optional[PaginationSortMethod], Field(description="Sort the results (asc/desc)")] = None,
        page_size: Annotated[Optional[StrictInt], Field(description="Page size. Default is 10. Must be greater than 0 and less than 5000.")] = None,
        page: Annotated[Optional[StrictInt], Field(description="Page number")] = None,
        name: Annotated[Optional[StrictStr], Field(description="Name of the continuous eval to filter on.")] = None,
        llm_eval_name: Annotated[Optional[StrictStr], Field(description="Name of the llm eval to filter on")] = None,
        created_after: Annotated[Optional[StrictStr], Field(description="Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC).")] = None,
        created_before: Annotated[Optional[StrictStr], Field(description="Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC).")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ListContinuousEvalsResponse:
        """Get all continuous evals for a specific task

        Get all continuous evals for a specific task

        :param task_id: (required)
        :type task_id: str
        :param sort: Sort the results (asc/desc)
        :type sort: PaginationSortMethod
        :param page_size: Page size. Default is 10. Must be greater than 0 and less than 5000.
        :type page_size: int
        :param page: Page number
        :type page: int
        :param name: Name of the continuous eval to filter on.
        :type name: str
        :param llm_eval_name: Name of the llm eval to filter on
        :type llm_eval_name: str
        :param created_after: Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC).
        :type created_after: str
        :param created_before: Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC).
        :type created_before: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._list_continuous_evals_api_v1_tasks_task_id_continuous_evals_get_serialize(
            task_id=task_id,
            sort=sort,
            page_size=page_size,
            page=page,
            name=name,
            llm_eval_name=llm_eval_name,
            created_after=created_after,
            created_before=created_before,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ListContinuousEvalsResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data


    @validate_call
    def list_continuous_evals_api_v1_tasks_task_id_continuous_evals_get_with_http_info(
        self,
        task_id: StrictStr,
        sort: Annotated[Optional[PaginationSortMethod], Field(description="Sort the results (asc/desc)")] = None,
        page_size: Annotated[Optional[StrictInt], Field(description="Page size. Default is 10. Must be greater than 0 and less than 5000.")] = None,
        page: Annotated[Optional[StrictInt], Field(description="Page number")] = None,
        name: Annotated[Optional[StrictStr], Field(description="Name of the continuous eval to filter on.")] = None,
        llm_eval_name: Annotated[Optional[StrictStr], Field(description="Name of the llm eval to filter on")] = None,
        created_after: Annotated[Optional[StrictStr], Field(description="Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC).")] = None,
        created_before: Annotated[Optional[StrictStr], Field(description="Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC).")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[ListContinuousEvalsResponse]:
        """Get all continuous evals for a specific task

        Get all continuous evals for a specific task

        :param task_id: (required)
        :type task_id: str
        :param sort: Sort the results (asc/desc)
        :type sort: PaginationSortMethod
        :param page_size: Page size. Default is 10. Must be greater than 0 and less than 5000.
        :type page_size: int
        :param page: Page number
        :type page: int
        :param name: Name of the continuous eval to filter on.
        :type name: str
        :param llm_eval_name: Name of the llm eval to filter on
        :type llm_eval_name: str
        :param created_after: Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC).
        :type created_after: str
        :param created_before: Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC).
        :type created_before: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._list_continuous_evals_api_v1_tasks_task_id_continuous_evals_get_serialize(
            task_id=task_id,
            sort=sort,
            page_size=page_size,
            page=page,
            name=name,
            llm_eval_name=llm_eval_name,
            created_after=created_after,
            created_before=created_before,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ListContinuousEvalsResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )


    @validate_call
    def list_continuous_evals_api_v1_tasks_task_id_continuous_evals_get_without_preload_content(
        self,
        task_id: StrictStr,
        sort: Annotated[Optional[PaginationSortMethod], Field(description="Sort the results (asc/desc)")] = None,
        page_size: Annotated[Optional[StrictInt], Field(description="Page size. Default is 10. Must be greater than 0 and less than 5000.")] = None,
        page: Annotated[Optional[StrictInt], Field(description="Page number")] = None,
        name: Annotated[Optional[StrictStr], Field(description="Name of the continuous eval to filter on.")] = None,
        llm_eval_name: Annotated[Optional[StrictStr], Field(description="Name of the llm eval to filter on")] = None,
        created_after: Annotated[Optional[StrictStr], Field(description="Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC).")] = None,
        created_before: Annotated[Optional[StrictStr], Field(description="Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC).")] = None,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Get all continuous evals for a specific task

        Get all continuous evals for a specific task

        :param task_id: (required)
        :type task_id: str
        :param sort: Sort the results (asc/desc)
        :type sort: PaginationSortMethod
        :param page_size: Page size. Default is 10. Must be greater than 0 and less than 5000.
        :type page_size: int
        :param page: Page number
        :type page: int
        :param name: Name of the continuous eval to filter on.
        :type name: str
        :param llm_eval_name: Name of the llm eval to filter on
        :type llm_eval_name: str
        :param created_after: Inclusive start date for prompt creation in ISO8601 string format. Use local time (not UTC).
        :type created_after: str
        :param created_before: Exclusive end date for prompt creation in ISO8601 string format. Use local time (not UTC).
        :type created_before: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._list_continuous_evals_api_v1_tasks_task_id_continuous_evals_get_serialize(
            task_id=task_id,
            sort=sort,
            page_size=page_size,
            page=page,
            name=name,
            llm_eval_name=llm_eval_name,
            created_after=created_after,
            created_before=created_before,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ListContinuousEvalsResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        return response_data.response


    def _list_continuous_evals_api_v1_tasks_task_id_continuous_evals_get_serialize(
        self,
        task_id,
        sort,
        page_size,
        page,
        name,
        llm_eval_name,
        created_after,
        created_before,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:

        _host = None

        _collection_formats: Dict[str, str] = {
        }

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if task_id is not None:
            _path_params['task_id'] = task_id
        # process the query parameters
        if sort is not None:
            
            _query_params.append(('sort', sort.value))
            
        if page_size is not None:
            
            _query_params.append(('page_size', page_size))
            
        if page is not None:
            
            _query_params.append(('page', page))
            
        if name is not None:
            
            _query_params.append(('name', name))
            
        if llm_eval_name is not None:
            
            _query_params.append(('llm_eval_name', llm_eval_name))
            
        if created_after is not None:
            
            _query_params.append(('created_after', created_after))
            
        if created_before is not None:
            
            _query_params.append(('created_before', created_before))
            
        # process the header parameters
        # process the form parameters
        # process the body parameter


        # set the HTTP header `Accept`
        if 'Accept' not in _header_params:
            _header_params['Accept'] = self.api_client.select_header_accept(
                [
                    'application/json'
                ]
            )


        # authentication setting
        _auth_settings: List[str] = [
            'API Key'
        ]

        return self.api_client.param_serialize(
            method='GET',
            resource_path='/api/v1/tasks/{task_id}/continuous_evals',
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth
        )




    @validate_call
    def rerun_continuous_eval_api_v1_continuous_evals_results_run_id_rerun_post(
        self,
        run_id: Annotated[StrictStr, Field(description="The id of the continuous eval run to rerun.")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ContinuousEvalRerunResponse:
        """Rerun a failed continuous eval

        Rerun a failed continuous eval

        :param run_id: The id of the continuous eval run to rerun. (required)
        :type run_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._rerun_continuous_eval_api_v1_continuous_evals_results_run_id_rerun_post_serialize(
            run_id=run_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ContinuousEvalRerunResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data


    @validate_call
    def rerun_continuous_eval_api_v1_continuous_evals_results_run_id_rerun_post_with_http_info(
        self,
        run_id: Annotated[StrictStr, Field(description="The id of the continuous eval run to rerun.")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[ContinuousEvalRerunResponse]:
        """Rerun a failed continuous eval

        Rerun a failed continuous eval

        :param run_id: The id of the continuous eval run to rerun. (required)
        :type run_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._rerun_continuous_eval_api_v1_continuous_evals_results_run_id_rerun_post_serialize(
            run_id=run_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ContinuousEvalRerunResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )


    @validate_call
    def rerun_continuous_eval_api_v1_continuous_evals_results_run_id_rerun_post_without_preload_content(
        self,
        run_id: Annotated[StrictStr, Field(description="The id of the continuous eval run to rerun.")],
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Rerun a failed continuous eval

        Rerun a failed continuous eval

        :param run_id: The id of the continuous eval run to rerun. (required)
        :type run_id: str
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._rerun_continuous_eval_api_v1_continuous_evals_results_run_id_rerun_post_serialize(
            run_id=run_id,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ContinuousEvalRerunResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        return response_data.response


    def _rerun_continuous_eval_api_v1_continuous_evals_results_run_id_rerun_post_serialize(
        self,
        run_id,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:

        _host = None

        _collection_formats: Dict[str, str] = {
        }

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if run_id is not None:
            _path_params['run_id'] = run_id
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter


        # set the HTTP header `Accept`
        if 'Accept' not in _header_params:
            _header_params['Accept'] = self.api_client.select_header_accept(
                [
                    'application/json'
                ]
            )


        # authentication setting
        _auth_settings: List[str] = [
            'API Key'
        ]

        return self.api_client.param_serialize(
            method='POST',
            resource_path='/api/v1/continuous_evals/results/{run_id}/rerun',
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth
        )




    @validate_call
    def update_continuous_eval_api_v1_continuous_evals_eval_id_patch(
        self,
        eval_id: Annotated[StrictStr, Field(description="The id of the continuous eval to update.")],
        update_continuous_eval_request: UpdateContinuousEvalRequest,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ContinuousEvalResponse:
        """Update a continuous eval

        Update a continuous eval

        :param eval_id: The id of the continuous eval to update. (required)
        :type eval_id: str
        :param update_continuous_eval_request: (required)
        :type update_continuous_eval_request: UpdateContinuousEvalRequest
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._update_continuous_eval_api_v1_continuous_evals_eval_id_patch_serialize(
            eval_id=eval_id,
            update_continuous_eval_request=update_continuous_eval_request,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ContinuousEvalResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        ).data


    @validate_call
    def update_continuous_eval_api_v1_continuous_evals_eval_id_patch_with_http_info(
        self,
        eval_id: Annotated[StrictStr, Field(description="The id of the continuous eval to update.")],
        update_continuous_eval_request: UpdateContinuousEvalRequest,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> ApiResponse[ContinuousEvalResponse]:
        """Update a continuous eval

        Update a continuous eval

        :param eval_id: The id of the continuous eval to update. (required)
        :type eval_id: str
        :param update_continuous_eval_request: (required)
        :type update_continuous_eval_request: UpdateContinuousEvalRequest
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._update_continuous_eval_api_v1_continuous_evals_eval_id_patch_serialize(
            eval_id=eval_id,
            update_continuous_eval_request=update_continuous_eval_request,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ContinuousEvalResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        response_data.read()
        return self.api_client.response_deserialize(
            response_data=response_data,
            response_types_map=_response_types_map,
        )


    @validate_call
    def update_continuous_eval_api_v1_continuous_evals_eval_id_patch_without_preload_content(
        self,
        eval_id: Annotated[StrictStr, Field(description="The id of the continuous eval to update.")],
        update_continuous_eval_request: UpdateContinuousEvalRequest,
        _request_timeout: Union[
            None,
            Annotated[StrictFloat, Field(gt=0)],
            Tuple[
                Annotated[StrictFloat, Field(gt=0)],
                Annotated[StrictFloat, Field(gt=0)]
            ]
        ] = None,
        _request_auth: Optional[Dict[StrictStr, Any]] = None,
        _content_type: Optional[StrictStr] = None,
        _headers: Optional[Dict[StrictStr, Any]] = None,
        _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
    ) -> RESTResponseType:
        """Update a continuous eval

        Update a continuous eval

        :param eval_id: The id of the continuous eval to update. (required)
        :type eval_id: str
        :param update_continuous_eval_request: (required)
        :type update_continuous_eval_request: UpdateContinuousEvalRequest
        :param _request_timeout: timeout setting for this request. If one
                                 number provided, it will be total request
                                 timeout. It can also be a pair (tuple) of
                                 (connection, read) timeouts.
        :type _request_timeout: int, tuple(int, int), optional
        :param _request_auth: set to override the auth_settings for an a single
                              request; this effectively ignores the
                              authentication in the spec for a single request.
        :type _request_auth: dict, optional
        :param _content_type: force content-type for the request.
        :type _content_type: str, Optional
        :param _headers: set to override the headers for a single
                         request; this effectively ignores the headers
                         in the spec for a single request.
        :type _headers: dict, optional
        :param _host_index: set to override the host_index for a single
                            request; this effectively ignores the host_index
                            in the spec for a single request.
        :type _host_index: int, optional
        :return: Returns the result object.
        """ # noqa: E501

        _param = self._update_continuous_eval_api_v1_continuous_evals_eval_id_patch_serialize(
            eval_id=eval_id,
            update_continuous_eval_request=update_continuous_eval_request,
            _request_auth=_request_auth,
            _content_type=_content_type,
            _headers=_headers,
            _host_index=_host_index
        )

        _response_types_map: Dict[str, Optional[str]] = {
            '200': "ContinuousEvalResponse",
            '422': "HTTPValidationError",
        }
        response_data = self.api_client.call_api(
            *_param,
            _request_timeout=_request_timeout
        )
        return response_data.response


    def _update_continuous_eval_api_v1_continuous_evals_eval_id_patch_serialize(
        self,
        eval_id,
        update_continuous_eval_request,
        _request_auth,
        _content_type,
        _headers,
        _host_index,
    ) -> RequestSerialized:

        _host = None

        _collection_formats: Dict[str, str] = {
        }

        _path_params: Dict[str, str] = {}
        _query_params: List[Tuple[str, str]] = []
        _header_params: Dict[str, Optional[str]] = _headers or {}
        _form_params: List[Tuple[str, str]] = []
        _files: Dict[
            str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
        ] = {}
        _body_params: Optional[bytes] = None

        # process the path parameters
        if eval_id is not None:
            _path_params['eval_id'] = eval_id
        # process the query parameters
        # process the header parameters
        # process the form parameters
        # process the body parameter
        if update_continuous_eval_request is not None:
            _body_params = update_continuous_eval_request


        # set the HTTP header `Accept`
        if 'Accept' not in _header_params:
            _header_params['Accept'] = self.api_client.select_header_accept(
                [
                    'application/json'
                ]
            )

        # set the HTTP header `Content-Type`
        if _content_type:
            _header_params['Content-Type'] = _content_type
        else:
            _default_content_type = (
                self.api_client.select_header_content_type(
                    [
                        'application/json'
                    ]
                )
            )
            if _default_content_type is not None:
                _header_params['Content-Type'] = _default_content_type

        # authentication setting
        _auth_settings: List[str] = [
            'API Key'
        ]

        return self.api_client.param_serialize(
            method='PATCH',
            resource_path='/api/v1/continuous_evals/{eval_id}',
            path_params=_path_params,
            query_params=_query_params,
            header_params=_header_params,
            body=_body_params,
            post_params=_form_params,
            files=_files,
            auth_settings=_auth_settings,
            collection_formats=_collection_formats,
            _host=_host,
            _request_auth=_request_auth
        )


