# Target Environments ## List Target Environments `vulnerability_scanner.target_environments.list(TargetEnvironmentListParams**kwargs) -> SyncV4PagePaginationArray[TargetEnvironmentListResponse]` **get** `/accounts/{account_id}/vuln_scanner/target_environments` Returns all target environments for the account. ### Parameters - `account_id: Optional[str]` Identifier. - `page: Optional[int]` Page number of paginated results. - `per_page: Optional[int]` Number of results per page. ### Returns - `class TargetEnvironmentListResponse: …` - `id: str` Target environment identifier. - `name: str` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: Literal["zone"]` - `"zone"` - `zone_tag: str` Cloudflare zone tag. The zone must belong to the account. - `description: Optional[str]` Optional description providing additional context. ### 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.vulnerability_scanner.target_environments.list( account_id="023e105f4ecef8ad9ca31a8372d0c353", ) page = page.result[0] print(page.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": [ { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "name": "Production Zone", "target": { "type": "zone", "zone_tag": "d8e8fca2dc0f896fd7cb4cb0031ba249" }, "description": "Main production environment" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Create Target Environment `vulnerability_scanner.target_environments.create(TargetEnvironmentCreateParams**kwargs) -> TargetEnvironmentCreateResponse` **post** `/accounts/{account_id}/vuln_scanner/target_environments` Creates a new target environment for the account. ### Parameters - `account_id: Optional[str]` Identifier. - `name: str` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: Literal["zone"]` - `"zone"` - `zone_tag: str` Cloudflare zone tag. The zone must belong to the account. - `description: Optional[str]` Optional description. ### Returns - `class TargetEnvironmentCreateResponse: …` - `id: str` Target environment identifier. - `name: str` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: Literal["zone"]` - `"zone"` - `zone_tag: str` Cloudflare zone tag. The zone must belong to the account. - `description: Optional[str]` Optional description providing additional context. ### 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 ) target_environment = client.vulnerability_scanner.target_environments.create( account_id="023e105f4ecef8ad9ca31a8372d0c353", name="Production Zone", target={ "type": "zone", "zone_tag": "d8e8fca2dc0f896fd7cb4cb0031ba249", }, ) print(target_environment.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "name": "Production Zone", "target": { "type": "zone", "zone_tag": "d8e8fca2dc0f896fd7cb4cb0031ba249" }, "description": "Main production environment" }, "result_info": {} } ``` ## Get Target Environment `vulnerability_scanner.target_environments.get(strtarget_environment_id, TargetEnvironmentGetParams**kwargs) -> TargetEnvironmentGetResponse` **get** `/accounts/{account_id}/vuln_scanner/target_environments/{target_environment_id}` Returns a single target environment by ID. ### Parameters - `account_id: Optional[str]` Identifier. - `target_environment_id: str` ### Returns - `class TargetEnvironmentGetResponse: …` - `id: str` Target environment identifier. - `name: str` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: Literal["zone"]` - `"zone"` - `zone_tag: str` Cloudflare zone tag. The zone must belong to the account. - `description: Optional[str]` Optional description providing additional context. ### 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 ) target_environment = client.vulnerability_scanner.target_environments.get( target_environment_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(target_environment.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "name": "Production Zone", "target": { "type": "zone", "zone_tag": "d8e8fca2dc0f896fd7cb4cb0031ba249" }, "description": "Main production environment" }, "result_info": {} } ``` ## Update Target Environment `vulnerability_scanner.target_environments.update(strtarget_environment_id, TargetEnvironmentUpdateParams**kwargs) -> TargetEnvironmentUpdateResponse` **put** `/accounts/{account_id}/vuln_scanner/target_environments/{target_environment_id}` Replaces a target environment. All fields must be provided. ### Parameters - `account_id: Optional[str]` Identifier. - `target_environment_id: str` - `name: str` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: Literal["zone"]` - `"zone"` - `zone_tag: str` Cloudflare zone tag. The zone must belong to the account. - `description: Optional[str]` Optional description. ### Returns - `class TargetEnvironmentUpdateResponse: …` - `id: str` Target environment identifier. - `name: str` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: Literal["zone"]` - `"zone"` - `zone_tag: str` Cloudflare zone tag. The zone must belong to the account. - `description: Optional[str]` Optional description providing additional context. ### 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 ) target_environment = client.vulnerability_scanner.target_environments.update( target_environment_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", account_id="023e105f4ecef8ad9ca31a8372d0c353", name="Production Zone", target={ "type": "zone", "zone_tag": "d8e8fca2dc0f896fd7cb4cb0031ba249", }, ) print(target_environment.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "name": "Production Zone", "target": { "type": "zone", "zone_tag": "d8e8fca2dc0f896fd7cb4cb0031ba249" }, "description": "Main production environment" }, "result_info": {} } ``` ## Edit Target Environment `vulnerability_scanner.target_environments.edit(strtarget_environment_id, TargetEnvironmentEditParams**kwargs) -> TargetEnvironmentEditResponse` **patch** `/accounts/{account_id}/vuln_scanner/target_environments/{target_environment_id}` Updates a target environment with only the provided fields; omitted fields remain unchanged. ### Parameters - `account_id: Optional[str]` Identifier. - `target_environment_id: str` - `description: Optional[str]` Optional description. Omit to leave unchanged, set to `null` to clear, or provide a string to update. - `name: Optional[str]` Human-readable name. - `target: Optional[Target]` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: Literal["zone"]` - `"zone"` - `zone_tag: str` Cloudflare zone tag. The zone must belong to the account. ### Returns - `class TargetEnvironmentEditResponse: …` - `id: str` Target environment identifier. - `name: str` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: Literal["zone"]` - `"zone"` - `zone_tag: str` Cloudflare zone tag. The zone must belong to the account. - `description: Optional[str]` Optional description providing additional context. ### 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 ) response = client.vulnerability_scanner.target_environments.edit( target_environment_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response.id) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "name": "Production Zone", "target": { "type": "zone", "zone_tag": "d8e8fca2dc0f896fd7cb4cb0031ba249" }, "description": "Main production environment" }, "result_info": {} } ``` ## Delete Target Environment `vulnerability_scanner.target_environments.delete(strtarget_environment_id, TargetEnvironmentDeleteParams**kwargs) -> object` **delete** `/accounts/{account_id}/vuln_scanner/target_environments/{target_environment_id}` Removes a target environment. ### Parameters - `account_id: Optional[str]` Identifier. - `target_environment_id: str` ### Returns - `object` ### 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 ) target_environment = client.vulnerability_scanner.target_environments.delete( target_environment_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(target_environment) ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": {}, "result_info": {} } ``` ## Domain Types ### Target Environment List Response - `class TargetEnvironmentListResponse: …` - `id: str` Target environment identifier. - `name: str` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: Literal["zone"]` - `"zone"` - `zone_tag: str` Cloudflare zone tag. The zone must belong to the account. - `description: Optional[str]` Optional description providing additional context. ### Target Environment Create Response - `class TargetEnvironmentCreateResponse: …` - `id: str` Target environment identifier. - `name: str` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: Literal["zone"]` - `"zone"` - `zone_tag: str` Cloudflare zone tag. The zone must belong to the account. - `description: Optional[str]` Optional description providing additional context. ### Target Environment Get Response - `class TargetEnvironmentGetResponse: …` - `id: str` Target environment identifier. - `name: str` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: Literal["zone"]` - `"zone"` - `zone_tag: str` Cloudflare zone tag. The zone must belong to the account. - `description: Optional[str]` Optional description providing additional context. ### Target Environment Update Response - `class TargetEnvironmentUpdateResponse: …` - `id: str` Target environment identifier. - `name: str` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: Literal["zone"]` - `"zone"` - `zone_tag: str` Cloudflare zone tag. The zone must belong to the account. - `description: Optional[str]` Optional description providing additional context. ### Target Environment Edit Response - `class TargetEnvironmentEditResponse: …` - `id: str` Target environment identifier. - `name: str` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: Literal["zone"]` - `"zone"` - `zone_tag: str` Cloudflare zone tag. The zone must belong to the account. - `description: Optional[str]` Optional description providing additional context.