A military vessel and a helicopter gunship attacked a boat packed with Somali refugees off the coast of Yemen - killing at least 42 people, according to a UN agency.
Yemen's Shiite rebels accused the Saudi-led coalition of carrying out the attack.
The coalition has been heavily bombarding the nearby coast around the Yemeni city of Hodeida, and it accuses the rebels, known as Houthis, of smuggling weapons into the port in small boats.
There was no immediate coalition comment.
A Yemeni trafficker who survived the attack said the boat was filled with Somali refugees, including women and children, who were trying to reach Sudan from war-torn Yemen.
Al-Hassan Ghaleb Mohammed told reporters the boat had left from Ras Arra, along the southern coastline in Yemen's Hodeida province, and was 30 miles off the coast, near the Bab al-Mandab strait, when the military vessel and then the helicopter gunship opened fire.
He described a scene of panic in which the refugees held up torches, apparently to show that they were poor migrants.
He said the helicopter then stopped firing, but only after dozens had been killed. mr Mohammed was unharmed in the attack.
A top official with the UN's migration agency said 42 bodies have been recovered from the attack.
Mohammed Abdiker, emergencies director at the International Organisation for Migration in Geneva, said the attack at around 3am on Friday was "totally unacceptable" and that responsible combatants should have checked who was aboard the boat "before firing on it".
He said about 75 men and 15 women who survived the attack were taken to detention centres, and some bodies were laid in a fish market in the town of Hodeida because of a lack of space in mortuaries.
Laurent De Boeck, the head of the IOM's Yemeni office, said the UN agency believes all those on board the stricken vessel were registered refugees.
The Houthis said they had shot down a helicopter gunship in the same area a day earlier, without providing evidence.
They also said the coalition had carried out a wave of airstrikes over the past 48 hours in southern Hodeida, including a helicopter gunship assault on a fishing vessel that killed a number of fishermen hours before the strike on the migrant boat.
The Saudi-led and US-backed coalition began striking the rebels and their allies in March 2015, hoping to drive the Houthis from the capital, Sanaa, and restore the internationally recognised government.
The rebels remain in control of Sanaa and much of northern Yemen, and the conflict, which has killed an estimated 10,000 civilians, is in a stalemate.
A Yemeni medical official in Hodeida said only 14 bodies had arrived so far, adding that women were among the dead.
Another 25 wounded people, including some who had lost arms and legs, were brought to the hospital, he said.
The UN refugee agency said on its Twitter account that it was "appalled by this tragic incident, the latest in which civilians continue to disproportionately bear the brunt of conflict in Yemen".
Despite more than two years of fighting in Yemen, African migrants continue to arrive in the war-torn country, where there is no central authority to prevent them from travelling onward to a better life in neighbouring oil-rich Saudi Arabia.
More than 111,500 migrants landed on Yemen's shores last year, up from around 100,000 the year before, according to the Regional Mixed Migration Secretariat, a grouping of international agencies that monitors migration in the area.
The turmoil has left migrants vulnerable to abuse at the hands of the armed trafficking rings, many of which are believed to be connected to the multiple armed groups involved in the war.