API hook