How do I download completed candles gradually during the day?

Beginner here.

When I start my bot, I want to be able to gather all past 1 min candles of current trading day, and I want to keep receiving the new 1min candles as the day progresses.

I also want to get the current last price while the current 1min candle is not completed yet.

What is the workflow for this?

Do I need to make a REST request every minute, as well as opening a websocket to get the current last price?

Or is there a simpler way?