api is functional