add snapshot api