# Target Environments ## List Target Environments `client.vulnerabilityScanner.targetEnvironments.list(TargetEnvironmentListParamsparams?, RequestOptionsoptions?): V4PagePaginationArray` **get** `/accounts/{account_id}/vuln_scanner/target_environments` Returns all target environments for the account. ### Parameters - `params: TargetEnvironmentListParams` - `account_id?: string` Path param: Identifier. - `page?: number` Query param: Page number of paginated results. - `per_page?: number` Query param: Number of results per page. ### Returns - `TargetEnvironmentListResponse` - `id: string` Target environment identifier. - `name: string` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: "zone"` - `"zone"` - `zone_tag: string` Cloudflare zone tag. The zone must belong to the account. - `description?: string | null` Optional description providing additional context. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const targetEnvironmentListResponse of client.vulnerabilityScanner.targetEnvironments.list( { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, )) { console.log(targetEnvironmentListResponse.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 `client.vulnerabilityScanner.targetEnvironments.create(TargetEnvironmentCreateParamsparams, RequestOptionsoptions?): TargetEnvironmentCreateResponse` **post** `/accounts/{account_id}/vuln_scanner/target_environments` Creates a new target environment for the account. ### Parameters - `params: TargetEnvironmentCreateParams` - `account_id?: string` Path param: Identifier. - `name: string` Body param: Human-readable name. - `target: Target` Body param: Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: "zone"` - `"zone"` - `zone_tag: string` Cloudflare zone tag. The zone must belong to the account. - `description?: string | null` Body param: Optional description. ### Returns - `TargetEnvironmentCreateResponse` - `id: string` Target environment identifier. - `name: string` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: "zone"` - `"zone"` - `zone_tag: string` Cloudflare zone tag. The zone must belong to the account. - `description?: string | null` Optional description providing additional context. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const targetEnvironment = await client.vulnerabilityScanner.targetEnvironments.create({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', name: 'Production Zone', target: { type: 'zone', zone_tag: 'd8e8fca2dc0f896fd7cb4cb0031ba249' }, }); console.log(targetEnvironment.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 `client.vulnerabilityScanner.targetEnvironments.get(stringtargetEnvironmentId, TargetEnvironmentGetParamsparams?, RequestOptionsoptions?): TargetEnvironmentGetResponse` **get** `/accounts/{account_id}/vuln_scanner/target_environments/{target_environment_id}` Returns a single target environment by ID. ### Parameters - `targetEnvironmentId: string` - `params: TargetEnvironmentGetParams` - `account_id?: string` Identifier. ### Returns - `TargetEnvironmentGetResponse` - `id: string` Target environment identifier. - `name: string` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: "zone"` - `"zone"` - `zone_tag: string` Cloudflare zone tag. The zone must belong to the account. - `description?: string | null` Optional description providing additional context. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const targetEnvironment = await client.vulnerabilityScanner.targetEnvironments.get( '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(targetEnvironment.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 `client.vulnerabilityScanner.targetEnvironments.update(stringtargetEnvironmentId, TargetEnvironmentUpdateParamsparams, RequestOptionsoptions?): TargetEnvironmentUpdateResponse` **put** `/accounts/{account_id}/vuln_scanner/target_environments/{target_environment_id}` Replaces a target environment. All fields must be provided. ### Parameters - `targetEnvironmentId: string` - `params: TargetEnvironmentUpdateParams` - `account_id?: string` Path param: Identifier. - `name: string` Body param: Human-readable name. - `target: Target` Body param: Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: "zone"` - `"zone"` - `zone_tag: string` Cloudflare zone tag. The zone must belong to the account. - `description?: string | null` Body param: Optional description. ### Returns - `TargetEnvironmentUpdateResponse` - `id: string` Target environment identifier. - `name: string` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: "zone"` - `"zone"` - `zone_tag: string` Cloudflare zone tag. The zone must belong to the account. - `description?: string | null` Optional description providing additional context. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const targetEnvironment = await client.vulnerabilityScanner.targetEnvironments.update( '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', name: 'Production Zone', target: { type: 'zone', zone_tag: 'd8e8fca2dc0f896fd7cb4cb0031ba249' }, }, ); console.log(targetEnvironment.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 `client.vulnerabilityScanner.targetEnvironments.edit(stringtargetEnvironmentId, TargetEnvironmentEditParamsparams, RequestOptionsoptions?): 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 - `targetEnvironmentId: string` - `params: TargetEnvironmentEditParams` - `account_id?: string` Path param: Identifier. - `description?: string | null` Body param: Optional description. Omit to leave unchanged, set to `null` to clear, or provide a string to update. - `name?: string` Body param: Human-readable name. - `target?: Target` Body param: Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: "zone"` - `"zone"` - `zone_tag: string` Cloudflare zone tag. The zone must belong to the account. ### Returns - `TargetEnvironmentEditResponse` - `id: string` Target environment identifier. - `name: string` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: "zone"` - `"zone"` - `zone_tag: string` Cloudflare zone tag. The zone must belong to the account. - `description?: string | null` Optional description providing additional context. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.vulnerabilityScanner.targetEnvironments.edit( '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(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 `client.vulnerabilityScanner.targetEnvironments.delete(stringtargetEnvironmentId, TargetEnvironmentDeleteParamsparams?, RequestOptionsoptions?): TargetEnvironmentDeleteResponse | null` **delete** `/accounts/{account_id}/vuln_scanner/target_environments/{target_environment_id}` Removes a target environment. ### Parameters - `targetEnvironmentId: string` - `params: TargetEnvironmentDeleteParams` - `account_id?: string` Identifier. ### Returns - `TargetEnvironmentDeleteResponse = unknown` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const targetEnvironment = await client.vulnerabilityScanner.targetEnvironments.delete( '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(targetEnvironment); ``` #### 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 - `TargetEnvironmentListResponse` - `id: string` Target environment identifier. - `name: string` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: "zone"` - `"zone"` - `zone_tag: string` Cloudflare zone tag. The zone must belong to the account. - `description?: string | null` Optional description providing additional context. ### Target Environment Create Response - `TargetEnvironmentCreateResponse` - `id: string` Target environment identifier. - `name: string` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: "zone"` - `"zone"` - `zone_tag: string` Cloudflare zone tag. The zone must belong to the account. - `description?: string | null` Optional description providing additional context. ### Target Environment Get Response - `TargetEnvironmentGetResponse` - `id: string` Target environment identifier. - `name: string` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: "zone"` - `"zone"` - `zone_tag: string` Cloudflare zone tag. The zone must belong to the account. - `description?: string | null` Optional description providing additional context. ### Target Environment Update Response - `TargetEnvironmentUpdateResponse` - `id: string` Target environment identifier. - `name: string` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: "zone"` - `"zone"` - `zone_tag: string` Cloudflare zone tag. The zone must belong to the account. - `description?: string | null` Optional description providing additional context. ### Target Environment Edit Response - `TargetEnvironmentEditResponse` - `id: string` Target environment identifier. - `name: string` Human-readable name. - `target: Target` Identifies the Cloudflare asset to scan. Uses a `type` discriminator. Currently the service supports only `zone` targets. - `type: "zone"` - `"zone"` - `zone_tag: string` Cloudflare zone tag. The zone must belong to the account. - `description?: string | null` Optional description providing additional context. ### Target Environment Delete Response - `TargetEnvironmentDeleteResponse = unknown`