adapt APIConsumer