# Datasets ## List Datasets `ai_gateway.datasets.list(strgateway_id, DatasetListParams**kwargs) -> SyncV4PagePaginationArray[DatasetListResponse]` **get** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/datasets` Lists all AI Gateway evaluator types configured for the account. ### Parameters - `account_id: str` - `gateway_id: str` gateway id - `enable: Optional[bool]` - `name: Optional[str]` - `page: Optional[int]` - `per_page: Optional[int]` - `search: Optional[str]` Search by id, name, filters ### Returns - `class DatasetListResponse: …` - `id: str` - `created_at: datetime` - `enable: bool` - `filters: List[Filter]` - `key: Literal["created_at", "request_content_type", "response_content_type", 10 more]` - `"created_at"` - `"request_content_type"` - `"response_content_type"` - `"success"` - `"cached"` - `"provider"` - `"model"` - `"cost"` - `"tokens"` - `"tokens_in"` - `"tokens_out"` - `"duration"` - `"feedback"` - `operator: Literal["eq", "contains", "lt", "gt"]` - `"eq"` - `"contains"` - `"lt"` - `"gt"` - `value: List[Union[str, float, bool]]` - `str` - `float` - `bool` - `gateway_id: str` gateway id - `modified_at: datetime` - `name: str` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) page = client.ai_gateway.datasets.list( gateway_id="my-gateway", account_id="3ebbcb006d4d46d7bb6a8c7f14676cb0", ) page = page.result[0] print(page.id) ``` #### Response ```json { "result": [ { "id": "id", "created_at": "2019-12-27T18:11:19.117Z", "enable": true, "filters": [ { "key": "created_at", "operator": "eq", "value": [ "string" ] } ], "gateway_id": "my-gateway", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name" } ], "success": true } ``` ## Fetch a Dataset `ai_gateway.datasets.get(strid, DatasetGetParams**kwargs) -> DatasetGetResponse` **get** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/datasets/{id}` Retrieves details for a specific AI Gateway dataset. ### Parameters - `account_id: str` - `gateway_id: str` gateway id - `id: str` ### Returns - `class DatasetGetResponse: …` - `id: str` - `created_at: datetime` - `enable: bool` - `filters: List[Filter]` - `key: Literal["created_at", "request_content_type", "response_content_type", 10 more]` - `"created_at"` - `"request_content_type"` - `"response_content_type"` - `"success"` - `"cached"` - `"provider"` - `"model"` - `"cost"` - `"tokens"` - `"tokens_in"` - `"tokens_out"` - `"duration"` - `"feedback"` - `operator: Literal["eq", "contains", "lt", "gt"]` - `"eq"` - `"contains"` - `"lt"` - `"gt"` - `value: List[Union[str, float, bool]]` - `str` - `float` - `bool` - `gateway_id: str` gateway id - `modified_at: datetime` - `name: str` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) dataset = client.ai_gateway.datasets.get( id="id", account_id="3ebbcb006d4d46d7bb6a8c7f14676cb0", gateway_id="my-gateway", ) print(dataset.id) ``` #### Response ```json { "result": { "id": "id", "created_at": "2019-12-27T18:11:19.117Z", "enable": true, "filters": [ { "key": "created_at", "operator": "eq", "value": [ "string" ] } ], "gateway_id": "my-gateway", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name" }, "success": true } ``` ## Create a new Dataset `ai_gateway.datasets.create(strgateway_id, DatasetCreateParams**kwargs) -> DatasetCreateResponse` **post** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/datasets` Creates a new AI Gateway. ### Parameters - `account_id: str` - `gateway_id: str` gateway id - `enable: bool` - `filters: Iterable[Filter]` - `key: Literal["created_at", "request_content_type", "response_content_type", 10 more]` - `"created_at"` - `"request_content_type"` - `"response_content_type"` - `"success"` - `"cached"` - `"provider"` - `"model"` - `"cost"` - `"tokens"` - `"tokens_in"` - `"tokens_out"` - `"duration"` - `"feedback"` - `operator: Literal["eq", "contains", "lt", "gt"]` - `"eq"` - `"contains"` - `"lt"` - `"gt"` - `value: SequenceNotStr[Union[str, float, bool]]` - `str` - `float` - `bool` - `name: str` ### Returns - `class DatasetCreateResponse: …` - `id: str` - `created_at: datetime` - `enable: bool` - `filters: List[Filter]` - `key: Literal["created_at", "request_content_type", "response_content_type", 10 more]` - `"created_at"` - `"request_content_type"` - `"response_content_type"` - `"success"` - `"cached"` - `"provider"` - `"model"` - `"cost"` - `"tokens"` - `"tokens_in"` - `"tokens_out"` - `"duration"` - `"feedback"` - `operator: Literal["eq", "contains", "lt", "gt"]` - `"eq"` - `"contains"` - `"lt"` - `"gt"` - `value: List[Union[str, float, bool]]` - `str` - `float` - `bool` - `gateway_id: str` gateway id - `modified_at: datetime` - `name: str` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) dataset = client.ai_gateway.datasets.create( gateway_id="my-gateway", account_id="3ebbcb006d4d46d7bb6a8c7f14676cb0", enable=True, filters=[{ "key": "created_at", "operator": "eq", "value": ["string"], }], name="name", ) print(dataset.id) ``` #### Response ```json { "result": { "id": "id", "created_at": "2019-12-27T18:11:19.117Z", "enable": true, "filters": [ { "key": "created_at", "operator": "eq", "value": [ "string" ] } ], "gateway_id": "my-gateway", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name" }, "success": true } ``` ## Update a Dataset `ai_gateway.datasets.update(strid, DatasetUpdateParams**kwargs) -> DatasetUpdateResponse` **put** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/datasets/{id}` Updates an existing AI Gateway dataset. ### Parameters - `account_id: str` - `gateway_id: str` gateway id - `id: str` - `enable: bool` - `filters: Iterable[Filter]` - `key: Literal["created_at", "request_content_type", "response_content_type", 10 more]` - `"created_at"` - `"request_content_type"` - `"response_content_type"` - `"success"` - `"cached"` - `"provider"` - `"model"` - `"cost"` - `"tokens"` - `"tokens_in"` - `"tokens_out"` - `"duration"` - `"feedback"` - `operator: Literal["eq", "contains", "lt", "gt"]` - `"eq"` - `"contains"` - `"lt"` - `"gt"` - `value: SequenceNotStr[Union[str, float, bool]]` - `str` - `float` - `bool` - `name: str` ### Returns - `class DatasetUpdateResponse: …` - `id: str` - `created_at: datetime` - `enable: bool` - `filters: List[Filter]` - `key: Literal["created_at", "request_content_type", "response_content_type", 10 more]` - `"created_at"` - `"request_content_type"` - `"response_content_type"` - `"success"` - `"cached"` - `"provider"` - `"model"` - `"cost"` - `"tokens"` - `"tokens_in"` - `"tokens_out"` - `"duration"` - `"feedback"` - `operator: Literal["eq", "contains", "lt", "gt"]` - `"eq"` - `"contains"` - `"lt"` - `"gt"` - `value: List[Union[str, float, bool]]` - `str` - `float` - `bool` - `gateway_id: str` gateway id - `modified_at: datetime` - `name: str` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) dataset = client.ai_gateway.datasets.update( id="id", account_id="3ebbcb006d4d46d7bb6a8c7f14676cb0", gateway_id="my-gateway", enable=True, filters=[{ "key": "created_at", "operator": "eq", "value": ["string"], }], name="name", ) print(dataset.id) ``` #### Response ```json { "result": { "id": "id", "created_at": "2019-12-27T18:11:19.117Z", "enable": true, "filters": [ { "key": "created_at", "operator": "eq", "value": [ "string" ] } ], "gateway_id": "my-gateway", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name" }, "success": true } ``` ## Delete a Dataset `ai_gateway.datasets.delete(strid, DatasetDeleteParams**kwargs) -> DatasetDeleteResponse` **delete** `/accounts/{account_id}/ai-gateway/gateways/{gateway_id}/datasets/{id}` Deletes an AI Gateway dataset. ### Parameters - `account_id: str` - `gateway_id: str` gateway id - `id: str` ### Returns - `class DatasetDeleteResponse: …` - `id: str` - `created_at: datetime` - `enable: bool` - `filters: List[Filter]` - `key: Literal["created_at", "request_content_type", "response_content_type", 10 more]` - `"created_at"` - `"request_content_type"` - `"response_content_type"` - `"success"` - `"cached"` - `"provider"` - `"model"` - `"cost"` - `"tokens"` - `"tokens_in"` - `"tokens_out"` - `"duration"` - `"feedback"` - `operator: Literal["eq", "contains", "lt", "gt"]` - `"eq"` - `"contains"` - `"lt"` - `"gt"` - `value: List[Union[str, float, bool]]` - `str` - `float` - `bool` - `gateway_id: str` gateway id - `modified_at: datetime` - `name: str` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) dataset = client.ai_gateway.datasets.delete( id="id", account_id="3ebbcb006d4d46d7bb6a8c7f14676cb0", gateway_id="my-gateway", ) print(dataset.id) ``` #### Response ```json { "result": { "id": "id", "created_at": "2019-12-27T18:11:19.117Z", "enable": true, "filters": [ { "key": "created_at", "operator": "eq", "value": [ "string" ] } ], "gateway_id": "my-gateway", "modified_at": "2019-12-27T18:11:19.117Z", "name": "name" }, "success": true } ``` ## Domain Types ### Dataset List Response - `class DatasetListResponse: …` - `id: str` - `created_at: datetime` - `enable: bool` - `filters: List[Filter]` - `key: Literal["created_at", "request_content_type", "response_content_type", 10 more]` - `"created_at"` - `"request_content_type"` - `"response_content_type"` - `"success"` - `"cached"` - `"provider"` - `"model"` - `"cost"` - `"tokens"` - `"tokens_in"` - `"tokens_out"` - `"duration"` - `"feedback"` - `operator: Literal["eq", "contains", "lt", "gt"]` - `"eq"` - `"contains"` - `"lt"` - `"gt"` - `value: List[Union[str, float, bool]]` - `str` - `float` - `bool` - `gateway_id: str` gateway id - `modified_at: datetime` - `name: str` ### Dataset Get Response - `class DatasetGetResponse: …` - `id: str` - `created_at: datetime` - `enable: bool` - `filters: List[Filter]` - `key: Literal["created_at", "request_content_type", "response_content_type", 10 more]` - `"created_at"` - `"request_content_type"` - `"response_content_type"` - `"success"` - `"cached"` - `"provider"` - `"model"` - `"cost"` - `"tokens"` - `"tokens_in"` - `"tokens_out"` - `"duration"` - `"feedback"` - `operator: Literal["eq", "contains", "lt", "gt"]` - `"eq"` - `"contains"` - `"lt"` - `"gt"` - `value: List[Union[str, float, bool]]` - `str` - `float` - `bool` - `gateway_id: str` gateway id - `modified_at: datetime` - `name: str` ### Dataset Create Response - `class DatasetCreateResponse: …` - `id: str` - `created_at: datetime` - `enable: bool` - `filters: List[Filter]` - `key: Literal["created_at", "request_content_type", "response_content_type", 10 more]` - `"created_at"` - `"request_content_type"` - `"response_content_type"` - `"success"` - `"cached"` - `"provider"` - `"model"` - `"cost"` - `"tokens"` - `"tokens_in"` - `"tokens_out"` - `"duration"` - `"feedback"` - `operator: Literal["eq", "contains", "lt", "gt"]` - `"eq"` - `"contains"` - `"lt"` - `"gt"` - `value: List[Union[str, float, bool]]` - `str` - `float` - `bool` - `gateway_id: str` gateway id - `modified_at: datetime` - `name: str` ### Dataset Update Response - `class DatasetUpdateResponse: …` - `id: str` - `created_at: datetime` - `enable: bool` - `filters: List[Filter]` - `key: Literal["created_at", "request_content_type", "response_content_type", 10 more]` - `"created_at"` - `"request_content_type"` - `"response_content_type"` - `"success"` - `"cached"` - `"provider"` - `"model"` - `"cost"` - `"tokens"` - `"tokens_in"` - `"tokens_out"` - `"duration"` - `"feedback"` - `operator: Literal["eq", "contains", "lt", "gt"]` - `"eq"` - `"contains"` - `"lt"` - `"gt"` - `value: List[Union[str, float, bool]]` - `str` - `float` - `bool` - `gateway_id: str` gateway id - `modified_at: datetime` - `name: str` ### Dataset Delete Response - `class DatasetDeleteResponse: …` - `id: str` - `created_at: datetime` - `enable: bool` - `filters: List[Filter]` - `key: Literal["created_at", "request_content_type", "response_content_type", 10 more]` - `"created_at"` - `"request_content_type"` - `"response_content_type"` - `"success"` - `"cached"` - `"provider"` - `"model"` - `"cost"` - `"tokens"` - `"tokens_in"` - `"tokens_out"` - `"duration"` - `"feedback"` - `operator: Literal["eq", "contains", "lt", "gt"]` - `"eq"` - `"contains"` - `"lt"` - `"gt"` - `value: List[Union[str, float, bool]]` - `str` - `float` - `bool` - `gateway_id: str` gateway id - `modified_at: datetime` - `name: str`