# Regions ## List DLS regions for an account `client.DLS.Regions.List(ctx, params) (*CursorPagination[RegionListResponse], error)` **get** `/accounts/{account_id}/dls/regions` List DLS regions for an account ### Parameters - `params RegionListParams` - `AccountID param.Field[int64]` Path param - `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(int64(0)), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### 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": [ { "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}` Get a DLS region ### Parameters - `regionID string` UUID of the region (custom or managed) or region_key of a managed region. - `query RegionGetParams` - `AccountID param.Field[int64]` ### 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(int64(0)), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", region.ID) } ``` #### Response ```json { "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "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", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ] } ```