Iran's admission it "unintentionally" shot down a Ukrainian passenger jet has sparked demands for justice for the 176 people on board who were killed.
The calls were led by Ukraine's president and the prime minister of Canada, which lost 57 nationals.
Social media footage has shown protests in Iran, some of them calling for Supreme Leader Ali Khamenei to resign.
The plane was shot down on Wednesday, hours after Iran had struck two air bases housing US forces in Iraq.
Those missile strikes were Iran's response to the US killing of senior Iranian commander Qasem Soleimani. He died in a drone strike in Baghdad on 3 January.
Iran had initially denied reports its missiles had brought down the plane, with one spokesman accusing Western nations of "lying and engaging in psychological warfare".
Ukraine International Airlines flight PS752, en route to Kyiv, came down near Imam Khomeini Airport in Tehran shortly after take-off. Victims included dozens of Iranians and Canadians, as well as nationals from Ukraine, the UK, Afghanistan and Germany.
What has the reaction been to Iran's admission?
Writing on Facebook, Ukrainian President Volodomyr Zelensky demanded that Iran "bring the guilty to the courts", repatriate the remains of the victims, pay compensation, give total access to Ukrainian officials and issue an apology through diplomatic channels.
Zelensky spoke earlier with French President Emmanuel Macron and agreed French specialists would help decode the so-called "black box" flight recorders. Macron also said he would formally launch an international investigation.
Ukraine's prosecutor general is investigating possible wilful killing and aircraft destruction.
Canadian Prime Minister Justin Trudeau demanded "transparency and justice for the families and loved ones of the victims".
UK PM Boris Johnson said Iran's admission was an "important first step" and called for an independent inquiry.
He said that de-escalation was now essential, adding: "It is vital that all leaders now pursue a diplomatic way forward."
A number of European nations made similar pleas for de-escalation, a transparent inquiry and the learning of lessons. The US has not officially commented yet.
What has Iran's military admitted?
The admission came in a statement read on state TV on Saturday morning.
It said flight PS752 had turned towards a "sensitive military centre" of the Revolutionary Guards, the force set up to defend the country's Islamic system, and had a "flying posture and altitude of an enemy target".
Brigadier-General Amir Ali Hajizadeh, the Revolutionary Guards' aerospace commander, said a missile operator had acted independently and alone, mistaking the plane for a "cruise missile" as there had been reports that such missiles had been fired at Iran.
"He had 10 seconds to decide. He could have decided to strike or not to strike and under such circumstances he took the wrong decision," Hajizadeh said.
"He was obliged to make contact and get verification. But apparently, his communications system had some disruptions."
Hajizadeh said the military would upgrade its systems to prevent such "mistakes" in the future.
He said he had "wished he was dead" after being told of the missile strike.
Hajizadeh also said a request had been made for a no-fly zone in the area before the incident but, for reasons that are unclear, this was rejected.
He said he had informed the authorities about what had happened on Wednesday, raising questions about why Iran had denied involvement for so long.
What have Iran's leaders said?
Ayatollah Khamenei said there was "proof of human error" and that he had asked "relevant authorities to take necessary measures to prevent" such an incident happening again.
President Hassan Rouhani said: "Iran deeply regrets this disastrous mistake." He vowed to prosecute those responsible.
The Islamic Republic of Iran deeply regrets this disastrous mistake.— Hassan Rouhani (@HassanRouhani) January 11, 2020
My thoughts and prayers go to all the mourning families. I offer my sincerest condolences. https://t.co/4dkePxupzm
Foreign Minister Javad Zarif apologised to the families of the victims but laid part of the blame on the US. "Human error at a time of crisis caused by US adventurism led to [this] disaster," he said.
Iran's ambassador to the UK, Hamid Baeidinejad, apologised for sharing "wrong findings" about the crash. He had earlier said Iran was "confident" that a missile had not been launched.
"I conveyed the official findings... that missile could not be fired and hit the Ukrainian plane at that period of time," he said. "I apologise."
BBC chief international correspondent Lyse Doucet said the Iranian leaders' admission was highly unusual and came at a crucial moment. Iran had decided it had to own the disaster to avoid triggering another war of words with the West or further angering its own people, she said.
How have Iranian citizens reacted?
Some video footage on social media has shown protests in central Tehran, with people calling for resignations and accusing officials of dishonesty.
Protests were reported at the Sharif and Amir Kabir universities.
Some demonstrators chanted for the resignation of the commander in chief - Ayatollah Khamenei.
The semi-official Fars news agency carried a rare report of the anti-government unrest, saying up to 1000 people had gathered, chanting slogans against leaders and tearing up pictures of Soleimani.
A number of social media users asked why Iranian officials had not accepted responsibility earlier, appearing only to do so after international pressure.
One wrote: "Your mistake was inadvertent. Your lie was intentional. People should not be lied to under the pretext of expediency."
Another questioned how an air defence system could mistake a Boeing 737 with a missile.
Some users changed profile pictures to black to mourn the loss of the people on the plane.
Sadegh Zibakalam, a political scientist and former university professor based in Tehran, said it was difficult to see how officials could escape from this as "just about everyone has lied during the past three days".
Has Ukraine accepted the explanations?
Several issues continue to cause anger. Ukraine International Airlines vice president Igor Sosnovsky said Iran should have closed the airport at the time, saying it was "absolutely irresponsible" not to do so.
There was also no warning about any potential threat, he said.
The airline expressed anger at the suggestion the plane may have veered off course, saying it was within the flight path designated by the Iranian airport dispatcher.
A statement later on Saturday from Iran's Civil Aviation Organisation, reported by the Tasnim news agency, clarified that there was no proof the plane had deviated.