add API primitive template