code: func (api *API) ListZonesContext(ctx context.Context, opts ...ReqOption) (r ZonesResponse, err error) {
  	var res []byte
  	opt := reqOption{
  		params: url.Values{},
  	}
  	for _, of := range opts {
  		of(&opt)
  	}
  
  	res, err = api.makeRequestContext(ctx, "GET", "/zones?"+opt.params.Encode(), nil)
  	if err != nil {
  		return ZonesResponse{}, errors.Wrap(err, errMakeRequestError)
  	}
  	err = json.Unmarshal(res, &r)
  	if err != nil {
  		return ZonesResponse{}, errors.Wrap(err, errUnmarshalError)
  	}
  
  	return r, nil
  }
docs: // ListZonesContext lists zones on an account. Optionally takes a list of ReqOptions.