# Environments ## List zone environments `zones.environments.list(EnvironmentListParams**kwargs) -> EnvironmentListResponse` **get** `/zones/{zone_id}/environments` List zone environments ### Parameters - `zone_id: str` ### Returns - `class EnvironmentListResponse: …` - `environments: List[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursor` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[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 ) environments = client.zones.environments.list( zone_id="zone_id", ) print(environments.environments) ``` #### 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" } } ], "result": { "environments": [ { "expression": "expression", "locked_on_deployment": true, "name": "name", "position": { "after": "yyy", "before": "xxx" }, "ref": "ref", "version": 0, "http_application_id": "http_application_id" } ] }, "success": true } ``` ## Create zone environments `zones.environments.create(EnvironmentCreateParams**kwargs) -> EnvironmentCreateResponse` **post** `/zones/{zone_id}/environments` Create zone environments ### Parameters - `zone_id: str` - `environments: Iterable[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursorParam` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[str]` ### Returns - `class EnvironmentCreateResponse: …` - `environments: List[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursor` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[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 ) environment = client.zones.environments.create( zone_id="zone_id", environments=[{ "expression": "expression", "locked_on_deployment": True, "name": "name", "position": {}, "ref": "ref", "version": 0, }], ) print(environment.environments) ``` #### 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" } } ], "result": { "environments": [ { "expression": "expression", "locked_on_deployment": true, "name": "name", "position": { "after": "yyy", "before": "xxx" }, "ref": "ref", "version": 0, "http_application_id": "http_application_id" } ] }, "success": true } ``` ## Upsert zone environments `zones.environments.update(EnvironmentUpdateParams**kwargs) -> EnvironmentUpdateResponse` **put** `/zones/{zone_id}/environments` Upsert zone environments ### Parameters - `zone_id: str` - `environments: Iterable[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursorParam` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[str]` ### Returns - `class EnvironmentUpdateResponse: …` - `environments: List[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursor` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[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 ) environment = client.zones.environments.update( zone_id="zone_id", environments=[{ "expression": "expression", "locked_on_deployment": True, "name": "name", "position": {}, "ref": "ref", "version": 0, }], ) print(environment.environments) ``` #### 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" } } ], "result": { "environments": [ { "expression": "expression", "locked_on_deployment": true, "name": "name", "position": { "after": "yyy", "before": "xxx" }, "ref": "ref", "version": 0, "http_application_id": "http_application_id" } ] }, "success": true } ``` ## Partially update zone environments `zones.environments.edit(EnvironmentEditParams**kwargs) -> EnvironmentEditResponse` **patch** `/zones/{zone_id}/environments` Partially update zone environments ### Parameters - `zone_id: str` - `environments: Iterable[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursorParam` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[str]` ### Returns - `class EnvironmentEditResponse: …` - `environments: List[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursor` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[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 ) response = client.zones.environments.edit( zone_id="zone_id", environments=[{ "expression": "expression", "locked_on_deployment": True, "name": "name", "position": {}, "ref": "ref", "version": 0, }], ) print(response.environments) ``` #### 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" } } ], "result": { "environments": [ { "expression": "expression", "locked_on_deployment": true, "name": "name", "position": { "after": "yyy", "before": "xxx" }, "ref": "ref", "version": 0, "http_application_id": "http_application_id" } ] }, "success": true } ``` ## Delete zone environment `zones.environments.delete(strenvironment_id, EnvironmentDeleteParams**kwargs) -> EnvironmentDeleteResponse` **delete** `/zones/{zone_id}/environments/{environment_id}` Delete zone environment ### Parameters - `zone_id: str` - `environment_id: str` ### Returns - `class EnvironmentDeleteResponse: …` - `environments: List[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursor` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[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 ) environment = client.zones.environments.delete( environment_id="environment_id", zone_id="zone_id", ) print(environment.environments) ``` #### 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" } } ], "result": { "environments": [ { "expression": "expression", "locked_on_deployment": true, "name": "name", "position": { "after": "yyy", "before": "xxx" }, "ref": "ref", "version": 0, "http_application_id": "http_application_id" } ] }, "success": true } ``` ## Roll back zone environment `zones.environments.rollback(strenvironment_id, EnvironmentRollbackParams**kwargs) -> EnvironmentRollbackResponse` **post** `/zones/{zone_id}/environments/{environment_id}/rollback` Roll back zone environment ### Parameters - `zone_id: str` - `environment_id: str` ### Returns - `class EnvironmentRollbackResponse: …` - `environments: List[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursor` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[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 ) response = client.zones.environments.rollback( environment_id="environment_id", zone_id="zone_id", ) print(response.environments) ``` #### 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" } } ], "result": { "environments": [ { "expression": "expression", "locked_on_deployment": true, "name": "name", "position": { "after": "yyy", "before": "xxx" }, "ref": "ref", "version": 0, "http_application_id": "http_application_id" } ] }, "success": true } ``` ## Domain Types ### Environment List Response - `class EnvironmentListResponse: …` - `environments: List[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursor` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[str]` ### Environment Create Response - `class EnvironmentCreateResponse: …` - `environments: List[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursor` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[str]` ### Environment Update Response - `class EnvironmentUpdateResponse: …` - `environments: List[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursor` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[str]` ### Environment Edit Response - `class EnvironmentEditResponse: …` - `environments: List[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursor` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[str]` ### Environment Delete Response - `class EnvironmentDeleteResponse: …` - `environments: List[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursor` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[str]` ### Environment Rollback Response - `class EnvironmentRollbackResponse: …` - `environments: List[Environment]` - `expression: str` - `locked_on_deployment: Optional[bool]` - `name: str` - `position: ListCursor` - `after: Optional[str]` - `before: Optional[str]` - `ref: str` - `version: Optional[int]` - `http_application_id: Optional[str]`