code: func (osioclient *OSIOClient) GetSpaceByID(ctx context.Context, spaceID uuid.UUID) (*app.Space, error) {
  	guid := goauuid.UUID(spaceID)
  	urlpath := witclient.ShowSpacePath(guid)
  	resp, err := osioclient.wc.ShowSpace(goasupport.ForwardContextRequestID(ctx), urlpath, nil, nil)
  	if err != nil {
  		return nil, errs.Wrapf(err, "could not connect to %s", urlpath)
  	}
  
  	respBody, err := osioclient.responseReader.ReadResponse(resp)
  
  	status := resp.StatusCode
  	if status == http.StatusNotFound {
  		return nil, nil
  	} else if status != http.StatusOK {
  		log.Error(nil, map[string]interface{}{
  			"err":         err,
  			"space_id":    spaceID,
  			"path":        urlpath,
  			"http_status": status,
  		}, "failed to get user space from WIT service due to HTTP error %s", status)
  		return nil, errs.Errorf("failed to GET %s due to status code %d", urlpath, status)
  	}
  
  	var respType app.SpaceSingle
  	err = json.Unmarshal(respBody, &respType)
  	if err != nil {
  		log.Error(nil, map[string]interface{}{
  			"err":      err,
  			"space_id": spaceID,
  			"path":     urlpath,
  			"response": respBody,
  		}, "unable to unmarshal user space from WIT service")
  		return nil, errs.Wrap(err, "could not unmarshal SpaceSingle JSON")
  	}
  	return respType.Data, nil
  }
docs: // GetSpaceByID - fetch space given UUID