macro api