And no Mexico did not start the war, America stole a bunch of their territory, Texas, by annexing it. Texas, the Lone Star Republic which essentially wanted to be its own country. That usually leads to war.
Mexico has no greater claim over that land, than did Spain before it. You might as well say Mexico stole nearly all of their current land from native tribes that existed there thousands of years ago.
To paraphrase Lincoln: "can you inform us of the actual spot on our soil where US blood was spilled?"
https://www.archives.gov/education/lessons/lincoln-resolutio...
Mexico attacked and defeated America. At first.
Had Mexico not gone to war with Texas and the USA, it is very likely it still would have lost all that territory to rebellion.
The secession tension grew into Mexico's first civil war (Reform War of 1857-1861), which ended just as the USA-CSA civil war (1861-1865) was starting.
And if we're talking "at gun point", Guadalupe-Hidalgo was negotiated with USA occupying Mexico City. There was serious consideration given to annexing all of Mexico. Really, one major reason Mexico still exists at all is good ol' USA racism: all those Indians and mixed-race people would get to vote and elect their own representatives. Also, would the Mexican states be slave states or free states? So the USA pretty much just took only as much land as it could fill up with free white people, and paid off the loser.
And so they each got to have their own separate civil wars, instead of one big one.