api adapt