structured API