Fifteen-year-old Sarah Williams rehearses a play in the park with her dog Merlin but becomes distracted by a line she is unable to remember while being watched by a barn owl. Realizing she is late to babysit her baby brother Toby, she rushes home and is confronted by her stepmother Irene before she and her father Robert leave for dinner. Sarah has many toys that she has grown out of and realizes that Toby is in possession of her treasured teddy bear Lancelot. Frustrated by this and his constant crying, Sarah rashly wishes Toby be taken away by the Goblin King Jareth, a character in the play she is rehearsing. She is shocked when Toby disappears and the Goblin King confronts her then transports her to his kingdom. He refuses to return the baby, but gives Sarah thirteen hours to solve his Labyrinth and find him before Toby is turned into a goblin forever. Sarah meets a dwarfish man named Hoggle, who aids her in entering the Labyrinth. She has trouble finding turns and corners but then meets a talking worm who inadvertently sends her in the wrong direction.
Sarah ends up in an oubliette where she reunites with Hoggle. After they confront Jareth and escape one of his traps, the two encounter a large beast named Ludo. Hoggle cowardly flees while Sarah befriends Ludo. After another riddle, she loses him in a forest. Hoggle encounters Jareth, who gives him a peach and instructs him to give it to Sarah, calling his loyalty into question as he was supposed to lead her out of the maze. Sarah is assaulted by a group of creatures called Firies with detachable body parts who try to remove her head, but Hoggle comes to her aid. She kisses him, and Jareth magically sends them to the swamp of the Bog of Eternal Stench as punishment, where they reunite with Ludo. Sarah, Hoggle, and Ludo meet a guard of the bridge out of the swamp named Sir Didymus, an anthropomorphic Fox Terrier and his Old English Sheepdog steed named Ambrosius. After Ludo howls and summons a trail of rocks to save Sarah from falling into the bog, Didymus joins the group (Her three new friends are just like some of the toys in her room). After the group gets hungry, Hoggle gives Sarah the peach and runs away as she falls into a trance and begins to lose her memories. She has a dream where Jareth comes to her at a masquerade ball, proclaiming his love for her, but she begins to remember and escapes, falling into a junkyard. After an old Junk Lady fails to brainwash her and her memory is jogged, she is rescued by Ludo and Didymus, and they are right outside Goblin City near Jareth's castle. They are confronted by the gate guard, but Hoggle bravely comes to their rescue. Despite his feeling unworthy of forgiveness for his betrayal, Sarah and the others welcome him back, and they enter the city together.
Jareth is alerted to their presence and sends his goblin army to stop them, but Ludo howls and summons a mountain of rocks to chase the guards away, and they enter the castle. Sarah insists she must face Jareth alone and promises to call the others if needed. In a room modeled after an Escher staircase, she confronts Jareth while trying to retrieve Toby. She recites the lines from her play, that have told her adventure to that point, but still cannot remember the last line. As Jareth begs her to obey him and he will love her, she remembers the line, "You have no power over me!" Defeated at the last second, Jareth returns Sarah and Toby home safely and turns into a barn owl, flying away.
Realizing how important Toby is to her, she gives him Lancelot and returns to her room. After she hears her father and stepmother come in, she sees her friends in the mirror and realizes even though she is growing up, she still needs them in her life every now and again. In an instant, all of the major characters from the Labyrinth appear in her room for a raucous celebration, and she reunites with Hoggle, Ludo, Didymus, and Ambrosius. As they celebrate, Jareth, in his owl form, watches from outside and then flies away into the night.

Question: Who had detachable body parts?
Answer: The Firies.
Alternative answer: firies