update recurse api