fragment URLFragment on URL { url type } fragment ImageFragment on Image { id url width height } fragment StudioFragment on Studio { name id urls { ...URLFragment } images { ...ImageFragment } } fragment TagFragment on Tag { name id } fragment FuzzyDateFragment on FuzzyDate { date accuracy } fragment MeasurementsFragment on Measurements { band_size cup_size waist hip } fragment BodyModificationFragment on BodyModification { location description } fragment PerformerFragment on Performer { id name disambiguation aliases gender urls { ...URLFragment } images { ...ImageFragment } birthdate { ...FuzzyDateFragment } ethnicity country eye_color hair_color height measurements { ...MeasurementsFragment } breast_type career_start_year career_end_year tattoos { ...BodyModificationFragment } piercings { ...BodyModificationFragment } details death_date { ...FuzzyDateFragment } weight } fragment PerformerAppearanceFragment on PerformerAppearance { as performer { ...PerformerFragment } } fragment FingerprintFragment on Fingerprint { algorithm hash duration } fragment SceneFragment on Scene { id title details duration date urls { ...URLFragment } images { ...ImageFragment } studio { ...StudioFragment } tags { ...TagFragment } performers { ...PerformerAppearanceFragment } fingerprints { ...FingerprintFragment } } query FindSceneByFingerprint($fingerprint: FingerprintQueryInput!) { findSceneByFingerprint(fingerprint: $fingerprint) { ...SceneFragment } } query FindScenesByFingerprints($fingerprints: [String!]!) { findScenesByFingerprints(fingerprints: $fingerprints) { ...SceneFragment } } query SearchScene($term: String!) { searchScene(term: $term) { ...SceneFragment } } query SearchPerformer($term: String!) { searchPerformer(term: $term) { ...PerformerFragment } } query FindPerformerByID($id: ID!) { findPerformer(id: $id) { ...PerformerFragment } } mutation SubmitFingerprint($input: FingerprintSubmission!) { submitFingerprint(input: $input) }