offline api