The 37-year-old Elliott hit a six from the penultimate ball off South Africa's Dale Steyn in the World Cup semi-final last year to propel New Zealand to their first World Cup final.
The shot was voted by the New Zealand public as the sporting moment of 2015.
“I have played my last one day game,” Elliott told Newshub at Auckland Airport on Friday after the New Zealand team returned home from the World Twenty20 tournament in India following a semi-final exit.
“But there is three formats. I won't be considered for test cricket, I haven't seen my test clothing for a few years. There's still T20 cricket and my body feels good.
“I'm going to reassess and let the dust settle. As long as I'm enjoying my cricket, I haven't made a call on anything yet. So I'll just get home and assess it.”
Originally from South Africa, Elliott moved to New Zealand to play international cricket, making his test debut against England in 2008 but only competed in five matches in almost two years.
He developed into a successful limited-overs player but was a surprise selection in New Zealand's World Cup squad last year, having not appeared for the team in more than 14 months. He also spent more than two years out of the side prior to that.
The right-hander's composure was most evident during the tournament as New Zealand went through pool play unbeaten and his 84 not out against South Africa in the semi-final typified his influence on the team.
Elliott also top-scored with 83 in the final against Australia, who won the game at the Melbourne Cricket Ground by seven wickets.
His last one-day international was in February against Australia at Seddon Park in Hamilton, when he scored his 11th half century.
He finished with 1,976 runs at 34.06 with two centuries. Elliott was also a handy slow-medium bowler, who finished with 39 wickets at 30.23 in his 83 one-day internationals.
Original source: NZ's Elliott calls time on one-day cricket