A congressional candidate from Montana was cited on charges of assaulting a reporter just hours before a Thursday special election to determine whether he will fill his state's single seat in the U.S. House of Representatives.

Guardian reporter Ben Jacobs tweeted around 7 p.m. that Greg Gianforte, a Republican businessman whose campaign for House seat has been endorsed by Vice President Mike Pence and Donald Trump Jr., attacked him and broke his glasses.

Greg Gianforte just body slammed me and broke my glasses — Ben Jacobs (@Bencjacobs) May 24, 2017

The Guardian quickly posted an audio recording of the encounter. In the recording, Jacobs attempts to ask Gianforte about the Congressional Budget Office's analysis of the Republican-backed American Health Care Act. Gianforte twice deflects the question, and Jacobs' third attempt to ask the question is interrupted by the sound of a scuffle.

"I'm sick and tired of you guys!" Gianforte shouts a few seconds later. "The last guy who came in here did the same thing. Get the hell out of here."

Reporters from Buzzfeed as well as a Fox News team quickly supported Jacobs' account of the incident. Alexis Levinson, a Buzzfeed reporter, said she watched Jacobs walk into a room where Gianforte was preparing for an interview with the Fox team.

"All of a sudden I heard a giant crash and saw Ben's feet fly in the air as he hit the floor," she tweeted.

Levinson said Jacobs left the room with his broken glasses in hand and was quickly ushered away by campaign staff. Pictures she posted minutes later showed an ambulance and sheriff's department vehicle outside.

This is the scene outside - pic.twitter.com/xAin0jkhFo — Alexis Levinson (@alexis_levinson) May 24, 2017

Alicia Acuna, one of the Fox reporters present at the event, wrote that she had been preparing to interview Gianforte when Jacobs entered the room. She corroborated the events described by Jacobs, Levinson and the Guardian's recording: Jacobs had attempted to question Gianforte, and Gianforte had attacked.

"Gianforte grabbed Jacobs by the neck with both hands and slammed him into the ground behind him," she wrote. "(My coworkers) and I watched in disbelief as Gianforte then began punching the reporter."

Blake Montgomery, another Buzzfeed reporter, tweeted that Gianforte left his own event without speaking while deputies took witness statements.

His campaign released a statement later in the evening that accused Jacobs of asking "badgering questions," aggressively shoving a recorder into Gianforte's face and refusing requests to lower it. No such conversation is heard in the Guardian's recording, and the statement directly contradicts the accounts given by Jacobs, Levinson and Acuna.

The Gallatin County Sheriff's Office charged Gianforte with misdemeanor assault in the early hours of Thursday morning. He could face jail time if convicted.

In an era of extreme congressional partisanship, toeholds like the Montana seat are valuable ground for both Republicans and Democrats. The race between Gianforte and his opponent, Democrat Rob Quist, has been tight, and NPR reported that Republican groups had poured millions of dollars into anti-Quist advertising in service of their candidate.