## Purge Cached Content by Environment `client.Cache.PurgeEnvironment(ctx, environmentID, params) (*CachePurgeEnvironmentResponse, error)` **post** `/zones/{zone_id}/environments/{environment_id}/purge_cache` Purge cached content scoped to a specific environment. Supports the same purge types as the zone-level endpoint (purge everything, by URL, by tag, host, or prefix). ### Availability and limits Please refer to [purge cache availability and limits documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/#availability-and-limits). ### Parameters - `environmentID string` - `params CachePurgeEnvironmentParams` - `ZoneID param.Field[string]` Path param - `Tags param.Field[[]string]` Body param: For more information on cache tags and purging by tags, please refer to [purge by cache-tags documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-tags/). ### Returns - `type CachePurgeEnvironmentResponse struct{…}` - `ID string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/cache" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Cache.PurgeEnvironment( context.TODO(), "023e105f4ecef8ad9ca31a8372d0c353", cache.CachePurgeEnvironmentParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), Body: cache.CachePurgeEnvironmentParamsBodyCachePurgeFlexPurgeByTags{ }, }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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": "023e105f4ecef8ad9ca31a8372d0c353" } } ```