queued or running means work remains; succeeded, failed and cancelled are terminal. Project status supplies actual environments, deployment heads and URLs.
A queued operation with blocking_operation_id waits for that operation of the same project to end; inspect it instead of submitting again.
Observe the next step
During a deployment,progress.phase distinguishes building, publishing and waiting for mail. Follow progress.next_poll_after_seconds and the returned suggested action. Read sender or domain status when that dependency is pending.
CLI --wait can reach its own timeout without cancelling the server operation. Read the same operation afterward. Never submit another deployment just to get a status update.
For a live event stream:
operation_logs returns a bounded snapshot. Use operation_get for current completion rather than assuming the snapshot waits until done.