decision diagram for api