code: func (c *Client) GetCertAuthorities(caType services.CertAuthType, loadKeys bool, opts ...services.MarshalOption) ([]services.CertAuthority, error) {
  	if err := caType.Check(); err != nil {
  		return nil, trace.Wrap(err)
  	}
  	out, err := c.Get(c.Endpoint("authorities", string(caType)), url.Values{
  		"load_keys": []string{fmt.Sprintf("%t", loadKeys)},
  	})
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  	var items []json.RawMessage
  	if err := json.Unmarshal(out.Bytes(), &items); err != nil {
  		return nil, err
  	}
  	re := make([]services.CertAuthority, len(items))
  	for i, raw := range items {
  		ca, err := services.GetCertAuthorityMarshaler().UnmarshalCertAuthority(raw, services.SkipValidation())
  		if err != nil {
  			return nil, trace.Wrap(err)
  		}
  		re[i] = ca
  	}
  	return re, nil
  }
docs: // GetCertAuthorities returns a list of certificate authorities