# Regions ## List DLS regions for an account `client.DLS.Regions.List(ctx, params) (*CursorPagination[RegionListResponse], error)` **get** `/accounts/{account_id}/dls/regions` List the DLS regions (managed and custom) available to an account. ### Parameters - `params RegionListParams` - `AccountID param.Field[string]` Path param: Identifier of a Cloudflare account. - `Cursor param.Field[string]` Query param: Opaque token for cursor-based pagination. Omit for the first page. Pass the value from a previous response to fetch the next page. - `PerPage param.Field[int64]` Query param - `Type param.Field[RegionListParamsType]` Query param: Filter regions by type. Omit to return all regions. - `const RegionListParamsTypeManaged RegionListParamsType = "managed"` - `const RegionListParamsTypeCustom RegionListParamsType = "custom"` ### Returns - `type RegionListResponse struct{…}` - `ID string` - `CreatedOn Time` - `ModifiedOn Time` - `Name string` - `RegionKey string` - `Version int64` - `VersionCreatedOn Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/dls" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.DLS.Regions.List(context.TODO(), dls.RegionListParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "error_chain": [ {} ] } ], "messages": [ { "code": 1000, "message": "message", "error_chain": [ {} ] } ], "result": [ { "id": "id", "created_on": "2019-12-27T18:11:19.117Z", "modified_on": "2019-12-27T18:11:19.117Z", "name": "name", "region_key": "x", "version": 0, "version_created_on": "2019-12-27T18:11:19.117Z" } ], "result_info": { "count": 0, "cursor": "cursor", "per_page": 0 }, "success": true } ``` ## Get a DLS region `client.DLS.Regions.Get(ctx, regionID, query) (*RegionGetResponse, error)` **get** `/accounts/{account_id}/dls/regions/{region_id}` Retrieve a single DLS region (managed or custom) by ID or region key. ### Parameters - `regionID string` UUID of the region (custom or managed) or region_key of a managed region. - `query RegionGetParams` - `AccountID param.Field[string]` Identifier of a Cloudflare account. ### Returns - `type RegionGetResponse struct{…}` - `ID string` - `CreatedOn Time` - `ModifiedOn Time` - `Name string` - `RegionKey string` - `Version int64` - `VersionCreatedOn Time` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/dls" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) region, err := client.DLS.Regions.Get( context.TODO(), "a1b2c3d4-e5f6-7890-abcd-ef1234567890", dls.RegionGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", region.ID) } ``` #### Response ```json { "messages": [ { "code": 1000, "message": "message", "error_chain": [ {} ] } ], "result": { "id": "id", "created_on": "2019-12-27T18:11:19.117Z", "modified_on": "2019-12-27T18:11:19.117Z", "name": "name", "region_key": "x", "version": 0, "version_created_on": "2019-12-27T18:11:19.117Z" }, "success": true, "errors": [ { "code": 1000, "message": "message", "error_chain": [ {} ] } ] } ```