GAPI web component