Rivian App API - v2.17.0

Jan 10 @ 2:55pm

Dump of the Rivian API GraphQL from version 2.17.0


Changes from 2.16.0:
--- app-v2.16.0/pretty-graphql	2024-12-04 17:59:51.319759519 -0500
+++ app-v2.17.0/pretty-graphql	2025-01-10 14:26:27.495933114 -0500
@@ -61,6 +61,16 @@
     success
   }
 }
+mutation DeleteDevice($keyIdentityId: ID!) {
+  deleteDevice(keyIdentityId: $keyIdentityId) {
+    success
+  }
+}
+mutation DeleteMfaChannel($input: DeleteMfaChannelInput!) {
+  deleteMfaChannel(input: $input) {
+    success
+  }
+}
 mutation DeleteUserAddress($addressId: String!) {
   deleteUserAddress(addressId: $addressId) {
     id
@@ -73,6 +83,11 @@
     types
   }
 }
+mutation DenyLocationConsentRequest($vehicleId: String!) {
+  locationConsentRequestDeny(vehicleId: $vehicleId) {
+    success
+  }
+}
 mutation DeregisterPushNotificationToken($data: DeregistrationInput!) {
   deregisterPushNotificationToken(data: $data) {
     success
@@ -88,6 +103,13 @@
     success
   }
 }
+mutation EnrollEmailMfa($input: EnrollEmailMfaInput!) {
+  enrollEmailMfa(input: $input) {
+    mfaId
+    mfaToken
+    channelType
+  }
+}
 mutation EnrollKeyFob($attrs: EnrollKeyFobAttributes!) {
   enrollKeyFob(attrs: $attrs) {
     success
@@ -98,6 +120,13 @@
     success
   }
 }
+mutation EnrollSmsMfa($input: EnrollSmsMfaInput!) {
+  enrollSmsMfa(input: $input) {
+    mfaId
+    mfaToken
+    channelType
+  }
+}
 mutation GenerateHandoffToken {
   generateHandoffToken {
     accessToken
@@ -118,6 +147,32 @@
     }
     ... on MobileMFALoginResponse {
       otpToken
+      targetChannel {
+        __typename
+        ... on MfaEmailChannel {
+          mfaId
+          default
+          email
+        }
+        ... on MfaPhoneChannel {
+          mfaId
+          default
+          phone
+        }
+      }
+      channels {
+        __typename
+        ... on MfaEmailChannel {
+          mfaId
+          default
+          email
+        }
+        ... on MfaPhoneChannel {
+          mfaId
+          default
+          phone
+        }
+      }
     }
   }
 }
@@ -167,9 +222,10 @@
     success
   }
 }
-mutation ResendOTPCode($otpToken: String!) {
-  resendOTPCode(otpToken: $otpToken) {
+mutation ResendOTPCode($otpToken: String!, $mfaId: String) {
+  resendOTPCode(otpToken: $otpToken, mfaId: $mfaId) {
     success
+    otpToken
   }
 }
 mutation SendAsyncMessage($input: CommsSendThreadedMessageInput!) {
@@ -191,6 +247,11 @@
   messageTemplateId
   workOrderId
 }
+mutation SendLocationConsentRequest($vehicleId: String!) {
+  locationConsentRequestSend(vehicleId: $vehicleId) {
+    success
+  }
+}
 mutation SendVehicleOperation($vehicleId: String!, $payload: String!) {
   sendVehicleOperation(vehicleId: $vehicleId, payload: $payload) {
     success
@@ -264,6 +325,11 @@
     success
   }
 }
+mutation UpdateMfaPreferences($input: UpdateMfaPreferencesInput!) {
+  updateMfaPreferences(input: $input) {
+    mfaId
+  }
+}
 mutation UpdateUserAddress($updateUserAddressInput: UpdateUserAddressInput!) {
   updateUserAddress(input: $updateUserAddressInput) {
     id
@@ -276,11 +342,9 @@
     types
   }
 }
-mutation ValidateOtpAndEnable2FA($input: ValidateOtpInput!) {
-  validateOtpAndEnable2FA(input: $input) {
-    registrationChannels {
-      type
-    }
+mutation ValidateMfaEnrollment($input: ValidateMfaEnrollmentInput!) {
+  validateMfaEnrollment(input: $input) {
+    mfaId
   }
 }
 mutation VerifyEmail($emailInput: VerifyEmailInput!) {
@@ -420,14 +484,6 @@
     success
   }
 }
-mutation disable2FA {
-  disable2FA {
-    registrationChannels {
-      type
-    }
-    success
-  }
-}
 mutation disableKey($keyIdentityId: ID!, $HRID: String!) {
   disableKey(keyIdentityId: $keyIdentityId, HRID: $HRID) {
     success
@@ -503,12 +559,6 @@
     }
   }
 }
-mutation registerUserPhone2FA($input: UpdateUserPhoneInput!) {
-  registerUserPhone2FA(input: $input) {
-    success
-    sessionToken
-  }
-}
 mutation removeWallbox($wallboxId: String!) {
   removeWallbox(wallboxId: $wallboxId) {
     linked
@@ -545,6 +595,19 @@
     success
   }
 }
+mutation setLocationSharingConsent(
+  $consent: Boolean!
+  $duration: Int
+  $timestamp: UnixTimestamp
+) {
+  setLocationSharingConsent(
+    consent: $consent
+    duration: $duration
+    timestamp: $timestamp
+  ) {
+    success
+  }
+}
 mutation skipNextScheduledDeparture(
   $vehicleId: String!
   $scheduleId: String!
@@ -589,6 +652,32 @@
     }
     ... on MobileMFALoginResponse {
       otpToken
+      targetChannel {
+        __typename
+        ... on MfaEmailChannel {
+          mfaId
+          default
+          email
+        }
+        ... on MfaPhoneChannel {
+          mfaId
+          default
+          phone
+        }
+      }
+      channels {
+        __typename
+        ... on MfaEmailChannel {
+          mfaId
+          default
+          email
+        }
+        ... on MfaPhoneChannel {
+          mfaId
+          default
+          phone
+        }
+      }
     }
   }
 }
@@ -767,6 +856,11 @@
       value
       timestamp
     }
+    locationSharingConsent {
+      consent
+      expiry
+      timestamp
+    }
   }
   firstName
   lastName
@@ -812,6 +906,10 @@
           max
           free
         }
+        fob2 {
+          max
+          free
+        }
       }
       model
       modelYear
@@ -866,6 +964,11 @@
           }
         }
       }
+      locationConsentRequest {
+        requesterName
+        recipientName
+        timestamp
+      }
     }
     settings {
       name {
@@ -903,6 +1006,7 @@
     type
     cccFriendKey
     vasPhoneId
+    cccFriendKeyFriendlyName
   }
   pendingInvites {
     id
@@ -935,6 +1039,11 @@
       value
       timestamp
     }
+    locationSharingConsent {
+      consent
+      expiry
+      timestamp
+    }
   }
   firstName
   lastName
@@ -980,6 +1089,10 @@
           max
           free
         }
+        fob2 {
+          max
+          free
+        }
       }
       model
       modelYear
@@ -1034,6 +1147,11 @@
           }
         }
       }
+      locationConsentRequest {
+        requesterName
+        recipientName
+        timestamp
+      }
     }
     settings {
       name {
@@ -1071,6 +1189,7 @@
     type
     cccFriendKey
     vasPhoneId
+    cccFriendKeyFriendlyName
   }
   pendingInvites {
     id
@@ -1108,19 +1227,6 @@
     }
   }
 }
-query GearGuardLiveConfig($vehicleId: String!, $cameraId: Camera!) {
-  gearGuardLiveConfig(vehicleId: $vehicleId, cameraId: $cameraId) {
-    endpoint
-    channelArn
-    role
-    iceServers {
-      url
-      username
-      credential
-      ttl
-    }
-  }
-}
 query GeoInfo($input: GeoInfoAddressInput!) {
   geoInfo(address: $input) {
     geoLocation {
@@ -1229,6 +1335,44 @@
   workOrderStatus
   workOrderId
   workOrderType
+  withinHoursOfOperation
+  commsHoursOfOperation {
+    monday {
+      open
+      close
+      isOpen
+    }
+    tuesday {
+      open
+      close
+      isOpen
+    }
+    wednesday {
+      open
+      close
+      isOpen
+    }
+    thursday {
+      open
+      close
+      isOpen
+    }
+    friday {
+      open
+      close
+      isOpen
+    }
+    saturday {
+      open
+      close
+      isOpen
+    }
+    sunday {
+      open
+      close
+      isOpen
+    }
+  }
 }
 query GetAsyncMessageThreadList {
   commsListDiscussions {
@@ -1264,6 +1408,44 @@
   workOrderStatus
   workOrderId
   workOrderType
+  withinHoursOfOperation
+  commsHoursOfOperation {
+    monday {
+      open
+      close
+      isOpen
+    }
+    tuesday {
+      open
+      close
+      isOpen
+    }
+    wednesday {
+      open
+      close
+      isOpen
+    }
+    thursday {
+      open
+      close
+      isOpen
+    }
+    friday {
+      open
+      close
+      isOpen
+    }
+    saturday {
+      open
+      close
+      isOpen
+    }
+    sunday {
+      open
+      close
+      isOpen
+    }
+  }
 }
 query GetAvailableMobileTimeslots(
   $geoLocation: BaseGeoLocationInput!
@@ -1442,6 +1624,47 @@
     }
   }
 }
+query GetMfaSettings {
+  mfaSettings {
+    channels {
+      __typename
+      ... on MfaEmailChannel {
+        mfaId
+        default
+        email
+      }
+      ... on MfaPhoneChannel {
+        mfaId
+        default
+        phone
+      }
+    }
+    eligibleChannels {
+      __typename
+      ... on MfaEligiblePhoneChannel {
+        phones {
+          phone
+        }
+      }
+      ... on MfaEligibleEmailChannel {
+        email
+      }
+    }
+    preferences {
+      __typename
+      ... on MfaEmailChannel {
+        mfaId
+        default
+        email
+      }
+      ... on MfaPhoneChannel {
+        mfaId
+        default
+        phone
+      }
+    }
+  }
+}
 query GetReferralCode {
   currentUser {
     referralCodeValue
@@ -1453,7 +1676,7 @@
       __typename
       ...CardSection
     }
-    referralCountContent(localization: $localization) {
+    referralCountByStatusContent(localization: $localization) {
       __typename
       ...CardSection
     }
@@ -1497,6 +1720,11 @@
     amount
     label
     description
+    textDetails {
+      heading
+      text
+      subText
+    }
     tableDetails {
       emptyStateText
       columns {
@@ -2522,6 +2750,32 @@
     localeName
   }
 }
+query mapSearchSavedLocations($vehicleId: String!, $userId: String!) {
+  mapSearchSavedLocations(vehicleId: $vehicleId, userId: $userId) {
+    name
+    coordinate {
+      latitude
+      longitude
+    }
+    locationType
+    navCoordinate {
+      latitude
+      longitude
+    }
+    destinationType
+    id
+    categories
+    address
+    streetAddress
+    city
+    country
+    countryCode
+    state
+    stateCode
+    postalCode
+    description
+  }
+}
 query planTripWithMultiStop(
   $waypoints: [CoordinatesInput!]!
   $originBearing: Float!
@@ -2579,6 +2833,104 @@
     socBelowLimit
   }
 }
+query planTripWithMultiStopV2(
+  $waypoints: [RequestWaypointInput!]!
+  $vehicle: String!
+  $startingSoc: Float
+  $startingRangeMeters: Float
+  $targetArrivalSocPercent: Float
+  $driveMode: DriveMode
+  $networkPreferences: [NetworkPreference!]
+  $trailerProfile: TripPlanTrailerProfile
+  $hasAdapter: Boolean
+) {
+  planTrip2(
+    waypoints: $waypoints
+    vehicle: $vehicle
+    startingSoc: $startingSoc
+    startingRangeMeters: $startingRangeMeters
+    targetArrivalSocPercent: $targetArrivalSocPercent
+    driveMode: $driveMode
+    networkPreferences: $networkPreferences
+    trailerProfile: $trailerProfile
+    hasAdapter: $hasAdapter
+  ) {
+    plans {
+      planIdentifierMetadata {
+        planId
+        abrpRouteId
+      }
+      driveLegs {
+        distanceMeters
+        durationSeconds
+        energyConsumptionKwh
+        polyline5
+        trafficAlongPolyline {
+          polylineFirstIndex
+          polylineLastIndex
+          level
+        }
+        socAlongPolyline {
+          polylineIndex
+          distanceAlongPolylineMeters
+          energyKwh
+          socPercent
+          rangeMeters
+        }
+        efficiency {
+          polylineFirstIndex
+          polylineLastIndex
+          segmentLengthMeters
+          segmentDurationSeconds
+          consumedEnergyKwh
+        }
+      }
+      waypoints {
+        waypointType
+        requestWaypointsIndex
+        charger {
+          adapterRequired
+          entityId
+          name
+          maxPowerKw
+          chargeDurationSeconds
+        }
+        latitude
+        longitude
+        totalTimeAtWaypointSeconds
+        arrivalSOCPercent
+        arrivalRangeMeters
+        arrivalEnergyKwh
+        targetArrivalSocPercent
+        arrivalTimeUTC
+        departureSOCPercent
+        departureRangeMeters
+        departureEnergyKwh
+        departureTimeUTC
+        distanceFromOriginMeters
+        distanceToDestinationMeters
+        isSystemAdded
+      }
+      batteryEmptyLocation {
+        latitude
+        longitude
+        distanceToDestinationMeters
+      }
+      summary {
+        destinationReachable
+        socBelowLimitAtDestination
+        totalChargeDurationSeconds
+        totalDriveDurationSeconds
+        totalDriveDistanceMeters
+        totalTripDurationSeconds
+        arrivalSOCPercent
+        arrivalRangeMeters
+        arrivalEnergyKwh
+      }
+    }
+    status
+  }
+}
 query vehicleOrders {
   orders(
     input: {
@@ -2599,13 +2951,6 @@
     }
   }
 }
-subscription ParallaxMessages($vehicleId: String!, $rvms: [String!]) {
-  parallaxMessages(vehicleId: $vehicleId, rvms: $rvms) {
-    payload
-    timestamp
-    rvm
-  }
-}
 subscription chargingSession($vehicleID: String!) {
   chargingSession(vehicleId: $vehicleID) {
     chartData {
@@ -2663,6 +3008,19 @@
     data
   }
 }
+subscription gearGuardRemoteConfig($vehicleId: String!, $commandId: String!) {
+  gearGuardLiveConfig(vehicleId: $vehicleId, commandId: $commandId) {
+    endpoint
+    channelArn
+    role
+    iceServers {
+      url
+      username
+      credential
+      ttl
+    }
+  }
+}
 subscription liveCamDailyLimitState($vehicleId: String!) {
   gearGuardDailyLimit(vehicleId: $vehicleId) {
     payload
@@ -2803,11 +3161,20 @@
     longitude
     timeStamp
     isAuthorized
+    consentStatus
+  }
+  activeDriverName {
+    timeStamp
+    value
   }
   gnssSpeed {
     timeStamp
     value
   }
+  gnssBearing {
+    timeStamp
+    value
+  }
   gnssAltitude {
     timeStamp
     value
@@ -3244,11 +3611,20 @@
     longitude
     timeStamp
     isAuthorized
+    consentStatus
+  }
+  activeDriverName {
+    timeStamp
+    value
   }
   gnssSpeed {
     timeStamp
     value
   }
+  gnssBearing {
+    timeStamp
+    value
+  }
   gnssAltitude {
     timeStamp
     value


mutation AcceptVehicleInvite($inviteId: String!) {
  acceptVehicleInvite(inviteId: $inviteId) {
    success
  }
}
mutation CancelVehicleInvite($inviteId: String!) {
  cancelVehicleInvite(inviteId: $inviteId) {
    success
  }
}
mutation ConsumerReschedule($input: RescheduleWorkOrderAppointmentInput!) {
  consumerReschedule(input: $input) {
    failedStage
    message
    success
  }
}
mutation ConsumerScheduleService($input: ConsumerScheduleServiceInput!) {
  consumerScheduleService(input: $input) {
    failedStage
    message
    success
    record {
      workOrderId
    }
  }
}
mutation CreateDepartureSchedule(
  $vehicleId: String!
  $schedule: InputDepartureSchedule!
) {
  createDepartureSchedule(vehicleId: $vehicleId, schedule: $schedule) {
    success
  }
}
mutation CreateSigningChallenge($attrs: CccCreateSigningChallengeAttributes!) {
  cccCreateSigningChallenge(attrs: $attrs) {
    keyDeviceId
    signingChallengeHex
  }
}
mutation CreateUserAddress($userAddress: CreateUserAddressInput!) {
  createUserAddress(input: $userAddress) {
    id
    line1
    line2
    city
    state
    postalCode
    country
    types
  }
}
mutation DeclineVehicleInvite($inviteId: String!) {
  declineVehicleInvite(inviteId: $inviteId) {
    success
  }
}
mutation DeleteCccDevice($keyIdentityId: ID!) {
  deleteCccDevice(keyIdentityId: $keyIdentityId) {
    success
  }
}
mutation DeleteDevice($keyIdentityId: ID!) {
  deleteDevice(keyIdentityId: $keyIdentityId) {
    success
  }
}
mutation DeleteMfaChannel($input: DeleteMfaChannelInput!) {
  deleteMfaChannel(input: $input) {
    success
  }
}
mutation DeleteUserAddress($addressId: String!) {
  deleteUserAddress(addressId: $addressId) {
    id
    line1
    line2
    city
    state
    postalCode
    country
    types
  }
}
mutation DenyLocationConsentRequest($vehicleId: String!) {
  locationConsentRequestDeny(vehicleId: $vehicleId) {
    success
  }
}
mutation DeregisterPushNotificationToken($data: DeregistrationInput!) {
  deregisterPushNotificationToken(data: $data) {
    success
  }
}
mutation DisenrollPhone($attrs: DisenrollPhoneAttributes!) {
  disenrollPhone(attrs: $attrs) {
    success
  }
}
mutation EnableCcc($vehicleId: String!) {
  enableCcc(vehicleId: $vehicleId) {
    success
  }
}
mutation EnrollEmailMfa($input: EnrollEmailMfaInput!) {
  enrollEmailMfa(input: $input) {
    mfaId
    mfaToken
    channelType
  }
}
mutation EnrollKeyFob($attrs: EnrollKeyFobAttributes!) {
  enrollKeyFob(attrs: $attrs) {
    success
  }
}
mutation EnrollPhone($attrs: EnrollPhoneAttributes!) {
  enrollPhone(attrs: $attrs) {
    success
  }
}
mutation EnrollSmsMfa($input: EnrollSmsMfaInput!) {
  enrollSmsMfa(input: $input) {
    mfaId
    mfaToken
    channelType
  }
}
mutation GenerateHandoffToken {
  generateHandoffToken {
    accessToken
  }
}
mutation InviteUserToVehicle($attrs: VehicleInviteAttributes!) {
  inviteUserToVehicle(attrs: $attrs) {
    success
  }
}
mutation Login($email: String!, $password: String!) {
  login(email: $email, password: $password) {
    __typename
    ... on MobileLoginResponse {
      accessToken
      refreshToken
      userSessionToken
    }
    ... on MobileMFALoginResponse {
      otpToken
      targetChannel {
        __typename
        ... on MfaEmailChannel {
          mfaId
          default
          email
        }
        ... on MfaPhoneChannel {
          mfaId
          default
          phone
        }
      }
      channels {
        __typename
        ... on MfaEmailChannel {
          mfaId
          default
          email
        }
        ... on MfaPhoneChannel {
          mfaId
          default
          phone
        }
      }
    }
  }
}
mutation LoginWithOTP($email: String!, $otpCode: String!, $otpToken: String!) {
  loginWithOTPV2(email: $email, otpCode: $otpCode, otpToken: $otpToken) {
    __typename
    ... on MobileLoginResponse {
      accessToken
      refreshToken
      userSessionToken
    }
  }
}
mutation Logout {
  logout {
    success
  }
}
mutation MarkAsyncMessageThreadAsRead($input: CommsMarkThreadAsReadInput) {
  commsMarkThreadAsRead(input: $input) {
    workOrderId
    success
  }
}
mutation ParseAndShareLocationToVehicle($str: String!, $vehicleId: String!) {
  parseAndShareLocationToVehicle(str: $str, vehicleId: $vehicleId) {
    publishResponse {
      result
    }
  }
}
mutation ReassignKey($attrs: ReassignKeyAttributes!) {
  reassignKey(attrs: $attrs) {
    success
  }
}
mutation RegisterPushNotificationToken($data: RegistrationInput!) {
  registerPushNotificationToken(data: $data) {
    deviceTokenId
    locale
    success
    token
  }
}
mutation RemoveUserFromVehicle($attrs: RemoveUserFromVehicleAttributes!) {
  removeUserFromVehicle(attrs: $attrs) {
    success
  }
}
mutation ResendOTPCode($otpToken: String!, $mfaId: String) {
  resendOTPCode(otpToken: $otpToken, mfaId: $mfaId) {
    success
    otpToken
  }
}
mutation SendAsyncMessage($input: CommsSendThreadedMessageInput!) {
  commsSendThreadedMessage(input: $input) {
    message {
      __typename
      ...AsyncMessageFields
    }
    success
  }
}
fragment AsyncMessageFields on CommsThreadMessage {
  authorType
  authorName
  authorId
  createdAt
  message
  messageId
  messageTemplateId
  workOrderId
}
mutation SendLocationConsentRequest($vehicleId: String!) {
  locationConsentRequestSend(vehicleId: $vehicleId) {
    success
  }
}
mutation SendVehicleOperation($vehicleId: String!, $payload: String!) {
  sendVehicleOperation(vehicleId: $vehicleId, payload: $payload) {
    success
    sequenceNumber
  }
}
mutation SendVerificationEmail {
  sendVerificationEmail {
    success
  }
}
mutation SetChargingSchedule(
  $vehicleId: String!
  $chargingSchedules: [InputChargingSchedule!]!
) {
  setChargingSchedules(
    vehicleId: $vehicleId
    chargingSchedules: $chargingSchedules
  ) {
    success
  }
}
mutation SetDistanceUnit($unit: DistanceUnit!, $timeStamp: UnixTimestamp!) {
  setDistanceUnit(unit: $unit, timestamp: $timeStamp)
}
mutation SetPressureUnit($unit: PressureUnit!, $timestamp: UnixTimestamp) {
  setPressureUnit(unit: $unit, timestamp: $timestamp)
}
mutation SetTemperatureUnit(
  $unit: TemperatureUnit!
  $timeStamp: UnixTimestamp!
) {
  setTemperatureUnit(unit: $unit, timestamp: $timeStamp)
}
mutation SetVehicleName($vehicleId: String!, $name: String!) {
  setVehicleName(vehicleId: $vehicleId, name: $name) {
    value
  }
}
mutation StartNewChargerSession(
  $locationId: ID
  $chargingNetwork: ID!
  $evseId: ID!
  $serialNumber: ID!
  $vehicleId: ID
) {
  startNewChargerSession(
    locationId: $locationId
    chargingNetwork: $chargingNetwork
    evseId: $evseId
    serialNumber: $serialNumber
    vehicleId: $vehicleId
  ) {
    id
    sessionId
    status
    errorMessage
    errorId
  }
}
mutation UpdateDepartureSchedule(
  $vehicleId: String!
  $scheduleId: String!
  $schedule: InputDepartureSchedule!
) {
  updateDepartureSchedule(
    vehicleId: $vehicleId
    scheduleId: $scheduleId
    schedule: $schedule
  ) {
    success
  }
}
mutation UpdateMfaPreferences($input: UpdateMfaPreferencesInput!) {
  updateMfaPreferences(input: $input) {
    mfaId
  }
}
mutation UpdateUserAddress($updateUserAddressInput: UpdateUserAddressInput!) {
  updateUserAddress(input: $updateUserAddressInput) {
    id
    line1
    line2
    city
    state
    postalCode
    country
    types
  }
}
mutation ValidateMfaEnrollment($input: ValidateMfaEnrollmentInput!) {
  validateMfaEnrollment(input: $input) {
    mfaId
  }
}
mutation VerifyEmail($emailInput: VerifyEmailInput!) {
  verifyEmail(input: $emailInput) {
    verified
  }
}
mutation VerifySigningChallenge($attrs: CccVerifySigningChallengeAttributes!) {
  cccVerifySigningChallenge(attrs: $attrs) {
    keyDevicesUpdated
    signResponseVerified
    userId
    vasPhoneId
    vehicleId
  }
}
mutation acceptDelivery($orderId: ID!) {
  acceptDelivery(input: { orderId: $orderId }) {
    vehicleId
  }
}
mutation activateSubscription($productId: String!, $vehicleId: String!) {
  activateSubscription(productId: $productId, vehicleId: $vehicleId) {
    success
  }
}
mutation activateWallbox($wallboxId: String!) {
  activateWallbox(wallboxId: $wallboxId) {
    linked
  }
}
mutation cancelAppointment($input: CancelAppointmentWorkOrderInput!) {
  cancelAppointmentWorkorder(input: $input) {
    id
  }
}
mutation cancelSubscription($subscriptionId: String!, $reason: String!) {
  cancelSubscription(subscriptionId: $subscriptionId, reason: $reason) {
    success
  }
}
mutation createAndLinkAccount {
  chargepoint {
    createAndLinkAccount {
      accountCreated
      status
    }
  }
}
mutation createBugTicket($userVehicleData: UserVehicleInfoInput!) {
  createBugTicket(userVehicleData: $userVehicleData) {
    jiraTicketUrl
  }
}
mutation createPaymentMethod($input: CreatePaymentMethodInput!) {
  createPaymentMethod(input: $input) {
    id
    default
    type
    card {
      lastFour
      brand
      expiration
    }
  }
}
mutation createServiceRequests($input: [ConsumerRequestServiceInput!]!) {
  consumerRequestService(input: $input) {
    success
    errors
    serviceTicket {
      id
    }
    serviceRequests {
      localId
      serviceRequest {
        id
      }
      uploadImageUrls {
        signedUrl
        expiresAt
        key
      }
      uploadVideoUrls {
        signedUrl
        expiresAt
        key
      }
    }
  }
}
mutation creditCheck {
  payment {
    postCreditCheck(
      source: "ENERGY_CHARGING"
      intent: FULL_PAYMENT
      verbose: TRUE
    ) {
      passed
      rules {
        name
        passed
      }
    }
  }
}
mutation deleteDepartureSchedule($vehicleId: String!, $scheduleId: String!) {
  deleteDepartureSchedule(vehicleId: $vehicleId, scheduleId: $scheduleId) {
    success
  }
}
mutation deletePaymentMethod($paymentMethodId: String!) {
  deletePaymentMethod(paymentMethodId: $paymentMethodId) {
    id
    default
    type
    card {
      lastFour
      brand
      expiration
    }
  }
}
mutation deleteTrip($tripId: String!) {
  deleteTrip(tripId: $tripId)
}
mutation departNow(
  $vehicleId: String!
  $scheduleId: String!
  $skipDate: String!
) {
  departNow(
    vehicleId: $vehicleId
    scheduleId: $scheduleId
    skipDate: $skipDate
  ) {
    success
  }
}
mutation disableKey($keyIdentityId: ID!, $HRID: String!) {
  disableKey(keyIdentityId: $keyIdentityId, HRID: $HRID) {
    success
  }
}
mutation enableKey($keyIdentityId: ID!, $HRID: String!) {
  enableKey(keyIdentityId: $keyIdentityId, HRID: $HRID) {
    success
  }
}
mutation forgotPassword($emailInput: ForgotPasswordInput!) {
  forgotPassword(input: $emailInput) {
    success
  }
}
mutation linkMediasToServiceRequest(
  $input: ConsumerUpdateServiceRequestInput!
) {
  consumerUpdateServiceRequest(input: $input) {
    success
    serviceRequest {
      id
      imageKeys
      videoKeys
      media {
        imageUrls
        videoUrls
      }
    }
  }
}
mutation liveNotificationDeregisterStartToken(
  $deviceId: String!
  $appBuildType: MobileApp!
) {
  liveNotificationDeregisterStartToken(
    deviceId: $deviceId
    appBuildType: $appBuildType
  ) {
    success
  }
}
mutation liveNotificationEnd($key: NotificationKeyInput!) {
  liveNotificationEnd(key: $key) {
    success
  }
}
mutation liveNotificationRegisterStartToken(
  $deviceId: String!
  $appBuildType: MobileApp!
  $token: String!
) {
  liveNotificationRegisterStartToken(
    deviceId: $deviceId
    appBuildType: $appBuildType
    token: $token
  ) {
    success
  }
}
mutation postBalanceRecord {
  payment {
    postBalanceRecord(source: "ENERGY_CHARGING", balanceType: DEBIT) {
      createdDate
      paymentReferenceId
      value {
        amount
      }
      extra {
        operatorId
        city
      }
    }
  }
}
mutation removeWallbox($wallboxId: String!) {
  removeWallbox(wallboxId: $wallboxId) {
    linked
  }
}
mutation retryPayment($paymentReferenceId: ID!) {
  payment {
    retryPayment(
      paymentReferenceId: $paymentReferenceId
      existingPaymentMethod: true
    ) {
      status
    }
  }
}
mutation saveTrip($attrs: TripPlanInput!) {
  saveTrip(attrs: $attrs)
}
mutation sendTripToVehicle($attrs: SendTripToVehicleInput!) {
  sendTripToVehicle(attrs: $attrs)
}
mutation sendVehicleCommand($attrs: VehicleCommandAttributes!) {
  sendVehicleCommand(attrs: $attrs) {
    id
    command
    state
  }
}
mutation setInVehicleTransactionsAllowed(
  $vehicleId: String!
  $value: Boolean!
) {
  setInVehicleTransactionsAllowed(vehicleId: $vehicleId, value: $value) {
    success
  }
}
mutation setLocationSharingConsent(
  $consent: Boolean!
  $duration: Int
  $timestamp: UnixTimestamp
) {
  setLocationSharingConsent(
    consent: $consent
    duration: $duration
    timestamp: $timestamp
  ) {
    success
  }
}
mutation skipNextScheduledDeparture(
  $vehicleId: String!
  $scheduleId: String!
  $skipDate: String!
) {
  skipNextScheduledDeparture(
    vehicleId: $vehicleId
    scheduleId: $scheduleId
    skipDate: $skipDate
  ) {
    success
  }
}
mutation transferOwnership($vehicleID: String!) {
  transferOwnership(vehicleId: $vehicleID) {
    success
  }
}
mutation updateDefaultPaymentMethod($paymentMethodId: String!) {
  updateDefaultPaymentMethod(paymentMethodId: $paymentMethodId) {
    id
    default
    type
    card {
      lastFour
      brand
      expiration
    }
  }
}
mutation updateTrip($tripId: String!, $attrs: TripPlanInput!) {
  updateTrip(tripId: $tripId, attrs: $attrs)
}
mutation updateTripTimestamp($tripId: String!) {
  updateTripTimestamp(tripId: $tripId)
}
mutation updateUserPassword($updatePasswordInput: UpdatePasswordInput!) {
  updateUserPassword(input: $updatePasswordInput) {
    __typename
    ... on Success {
      success
    }
    ... on MobileMFALoginResponse {
      otpToken
      targetChannel {
        __typename
        ... on MfaEmailChannel {
          mfaId
          default
          email
        }
        ... on MfaPhoneChannel {
          mfaId
          default
          phone
        }
      }
      channels {
        __typename
        ... on MfaEmailChannel {
          mfaId
          default
          email
        }
        ... on MfaPhoneChannel {
          mfaId
          default
          phone
        }
      }
    }
  }
}
mutation updateUserPasswordWithOTP($updateInfo: UpdatePasswordWithOTPInput!) {
  updateUserPasswordWithOTP(input: $updateInfo) {
    success
  }
}
mutation updateUserPhone($updateInfo: UpdateUserPhoneInput!) {
  updateUserPhone(input: $updateInfo) {
    primaryPhone {
      phone
      countryCode
      national
      formatted
    }
  }
}
mutation updateUserSubscriptions(
  $userSubscriptionInput: UpdateUserSubscriptionsInput!
) {
  updateUserSubscriptions(input: $userSubscriptionInput) {
    success
  }
}
mutation updateWallbox(
  $wallboxId: String!
  $wifiId: String
  $name: String
  $latitude: String
  $longitude: String
) {
  updateWallbox(
    wallboxId: $wallboxId
    wifiId: $wifiId
    name: $name
    latitude: $latitude
    longitude: $longitude
  ) {
    wallboxId
    userId
    wifiId
    name
    linked
    latitude
    longitude
    chargingStatus
    power
    currentVoltage
    currentAmps
    softwareVersion
    model
    serialNumber
    maxPower
    maxVoltage
    maxAmps
  }
}
query ChargerDetails($ids: [String!]!, $userLocation: GeoCoordinatesInput) {
  chargerByIds(ids: $ids, userLocation: $userLocation) {
    id
    name
    location {
      addressComponents {
        type
        shortName
        longName
      }
      formattedAddress
      coordinate {
        latitude
        longitude
      }
      navCoordinate {
        latitude
        longitude
      }
    }
    distance
    driveDetails {
      driveDistance
      driveDuration
      detourDistance
      detourDuration
    }
    chargingStation {
      network
      networkId
      maxKw
      note
      chargers {
        locationId
        pluginDependency
        connectors {
          id
          evseId
          evseUid
          name
          level
          maxKw
          chargingPrice {
            level
            description
            amount
            currency
            lastUpdateTime
            symbol
            type
            unit
          }
          type
          free
          vend
          state
        }
        tags
      }
      operatingHours {
        alwaysOpen
        hours {
          close
          day
          open
        }
      }
      nearbyAmenities {
        type
      }
      reliabilityScore
      siteMetrics {
        successRate
        avgMaxPower
        countChargeSessions
        lastChargeSessionTimestamp
      }
    }
    adapterRequired
    compatible
    rivianOnly
  }
}
query CheckChargePointLinking($rivianId: ID!) {
  chargepoint {
    checkByRivianId(rivianId: $rivianId)
  }
}
query CheckIsMobileServiceable($input: isMobileServiceableInput!) {
  isMobileServiceable(input: $input) {
    mobileServiceable
  }
}
query CommsListDiscussions {
  commsListDiscussions {
    hasUnreadMessages
    threadStatus
  }
}
query CurrentUser {
  currentUser {
    __typename
    ...CurrentUserFields
  }
}
fragment CurrentUserFields on User {
  id
  settings {
    distanceUnit {
      value
      timestamp
    }
    temperatureUnit {
      value
      timestamp
    }
    pressureUnit {
      value
      timestamp
    }
    locationSharingConsent {
      consent
      expiry
      timestamp
    }
  }
  firstName
  lastName
  email
  emailVerified
  primaryPhone {
    phone
    countryCode
    national
    formatted
  }
  address {
    id
    types
    line1
    line2
    city
    state
    postalCode
    country
    state
  }
  hasNewsletterSubscription
  hasSmsSubscription
  hasNewsletterSmsSubscription
  registrationChannels {
    type
  }
  vehicles {
    id
    owner
    roles
    vin
    vas {
      cccOwnerKeySetupStatus
      cccVehicleId
      vasVehicleId
      vehiclePublicKey
    }
    vehicle {
      deviceSlots {
        phone {
          max
          free
        }
        fob2 {
          max
          free
        }
      }
      model
      modelYear
      mobileConfiguration {
        trimOption {
          optionId
          optionName
        }
        exteriorColorOption {
          optionId
          optionName
        }
        interiorColorOption {
          optionId
          optionName
        }
        driveSystemOption {
          optionId
          optionName
        }
        tonneauOption {
          optionId
          optionName
        }
        wheelOption {
          optionId
          optionName
        }
        driveSystemTowingDriveModes
        driveSystemDriveModes
        maxVehiclePower
      }
      cccCapable
      cccEnabled
      cccReady
      legacyEnabled
      maintenanceSchedule {
        sections {
          items {
            description
            isDue
          }
          serviceLifetime {
            __typename
            ... on MaintenanceDistanceLimit {
              km
              mi
            }
            ... on MaintenanceDateLimit {
              year
            }
          }
        }
      }
      locationConsentRequest {
        requesterName
        recipientName
        timestamp
      }
    }
    settings {
      name {
        value
      }
    }
  }
  enrolledPhones {
    vas {
      vasPhoneId
      publicKey
    }
    enrolled {
      deviceType
      deviceName
      vehicleId
      identityId
      shortName
      wccLevel
      phoneModel
    }
  }
  enrolledCCCKeys {
    vehicleId
    identityId
    cccEndpointId
    cccKeyId
    cccVehicleId
    cccStatus
    phonePublicKey
    cccDeviceType
    cccDeviceDisabled
    mappedIdentityId
    deviceId
    type
    cccFriendKey
    vasPhoneId
    cccFriendKeyFriendlyName
  }
  pendingInvites {
    id
    invitedByFirstName
    role
    status
    vehicleId
    vehicleModel
    email
  }
}
query CurrentUserForLogin {
  currentUser {
    __typename
    ...CurrentUserFields
  }
}
fragment CurrentUserFields on User {
  id
  settings {
    distanceUnit {
      value
      timestamp
    }
    temperatureUnit {
      value
      timestamp
    }
    pressureUnit {
      value
      timestamp
    }
    locationSharingConsent {
      consent
      expiry
      timestamp
    }
  }
  firstName
  lastName
  email
  emailVerified
  primaryPhone {
    phone
    countryCode
    national
    formatted
  }
  address {
    id
    types
    line1
    line2
    city
    state
    postalCode
    country
    state
  }
  hasNewsletterSubscription
  hasSmsSubscription
  hasNewsletterSmsSubscription
  registrationChannels {
    type
  }
  vehicles {
    id
    owner
    roles
    vin
    vas {
      cccOwnerKeySetupStatus
      cccVehicleId
      vasVehicleId
      vehiclePublicKey
    }
    vehicle {
      deviceSlots {
        phone {
          max
          free
        }
        fob2 {
          max
          free
        }
      }
      model
      modelYear
      mobileConfiguration {
        trimOption {
          optionId
          optionName
        }
        exteriorColorOption {
          optionId
          optionName
        }
        interiorColorOption {
          optionId
          optionName
        }
        driveSystemOption {
          optionId
          optionName
        }
        tonneauOption {
          optionId
          optionName
        }
        wheelOption {
          optionId
          optionName
        }
        driveSystemTowingDriveModes
        driveSystemDriveModes
        maxVehiclePower
      }
      cccCapable
      cccEnabled
      cccReady
      legacyEnabled
      maintenanceSchedule {
        sections {
          items {
            description
            isDue
          }
          serviceLifetime {
            __typename
            ... on MaintenanceDistanceLimit {
              km
              mi
            }
            ... on MaintenanceDateLimit {
              year
            }
          }
        }
      }
      locationConsentRequest {
        requesterName
        recipientName
        timestamp
      }
    }
    settings {
      name {
        value
      }
    }
  }
  enrolledPhones {
    vas {
      vasPhoneId
      publicKey
    }
    enrolled {
      deviceType
      deviceName
      vehicleId
      identityId
      shortName
      wccLevel
      phoneModel
    }
  }
  enrolledCCCKeys {
    vehicleId
    identityId
    cccEndpointId
    cccKeyId
    cccVehicleId
    cccStatus
    phonePublicKey
    cccDeviceType
    cccDeviceDisabled
    mappedIdentityId
    deviceId
    type
    cccFriendKey
    vasPhoneId
    cccFriendKeyFriendlyName
  }
  pendingInvites {
    id
    invitedByFirstName
    role
    status
    vehicleId
    vehicleModel
    email
  }
}
query FetchCCCPairingPassword($keyIdentityId: ID!) {
  cccPairingPassword(keyIdentityId: $keyIdentityId) {
    cccCompletedAt
    cccPairingPwd
    cccVehicleId
    userId
    vehicleId
  }
}
query FileWrapper($locale: String, $slug: String) {
  files: egFileWrapperCollection(
    limit: 1
    locale: $locale
    where: { slug: $slug }
  ) {
    items {
      file {
        url
        size
        sys {
          publishedAt
        }
      }
    }
  }
}
query GeoInfo($input: GeoInfoAddressInput!) {
  geoInfo(address: $input) {
    geoLocation {
      lat
      lon
    }
  }
}
query GetActiveRequests {
  consumerServiceRequests {
    total
    result {
      __typename
      ...activeRequestFields
    }
  }
}
fragment repairDetailFields on ServiceRequest {
  repairDetails {
    serviceCatalogDetail {
      laborCode
      serviceSystem
      serviceSubsystem
    }
  }
}
fragment activeRequestFields on ServiceRequest {
  __typename
  id
  status
  referenceId
  requestType
  concern
  title
  createdAt
  workorder {
    appointmentLocation {
      city
    }
    appointmentStartAtIso
    workOrderType
  }
  assignedTo {
    first
    last
  }
  source
  imageKeys
  videoKeys
  media {
    imageUrls
    videoUrls
  }
  ...repairDetailFields
  asset {
    __typename
    ... on Vehicle {
      id
    }
  }
}
query GetAssignedGuide {
  getAssignedGuide {
    id
    firstName
    lastName
    phone
    sms
  }
}
query GetAsyncMessageThread($workOrderId: ID!) {
  commsGetThread(workOrderId: $workOrderId) {
    __typename
    ...AsyncThreadFields
    messages {
      __typename
      ...AsyncMessageFields
    }
  }
}
fragment AsyncMessageFields on CommsThreadMessage {
  authorType
  authorName
  authorId
  createdAt
  message
  messageId
  messageTemplateId
  workOrderId
}
fragment AsyncThreadFields on CommsThread {
  appointmentDate
  customer {
    name
    rivianId
    languagePreference
  }
  hasUnreadMessages
  lastUpdatedAt
  latestMessage {
    __typename
    ...AsyncMessageFields
  }
  title
  threadStatus
  workOrderStatus
  workOrderId
  workOrderType
  withinHoursOfOperation
  commsHoursOfOperation {
    monday {
      open
      close
      isOpen
    }
    tuesday {
      open
      close
      isOpen
    }
    wednesday {
      open
      close
      isOpen
    }
    thursday {
      open
      close
      isOpen
    }
    friday {
      open
      close
      isOpen
    }
    saturday {
      open
      close
      isOpen
    }
    sunday {
      open
      close
      isOpen
    }
  }
}
query GetAsyncMessageThreadList {
  commsListDiscussions {
    __typename
    ...AsyncThreadFields
  }
}
fragment AsyncMessageFields on CommsThreadMessage {
  authorType
  authorName
  authorId
  createdAt
  message
  messageId
  messageTemplateId
  workOrderId
}
fragment AsyncThreadFields on CommsThread {
  appointmentDate
  customer {
    name
    rivianId
    languagePreference
  }
  hasUnreadMessages
  lastUpdatedAt
  latestMessage {
    __typename
    ...AsyncMessageFields
  }
  title
  threadStatus
  workOrderStatus
  workOrderId
  workOrderType
  withinHoursOfOperation
  commsHoursOfOperation {
    monday {
      open
      close
      isOpen
    }
    tuesday {
      open
      close
      isOpen
    }
    wednesday {
      open
      close
      isOpen
    }
    thursday {
      open
      close
      isOpen
    }
    friday {
      open
      close
      isOpen
    }
    saturday {
      open
      close
      isOpen
    }
    sunday {
      open
      close
      isOpen
    }
  }
}
query GetAvailableMobileTimeslots(
  $geoLocation: BaseGeoLocationInput!
  $appointmentId: String
  $serviceRequestIds: [String!]
  $numOfDays: Int
) {
  consumerAvailableMobileTimeslots(
    geolocation: $geoLocation
    appointmentId: $appointmentId
    serviceRequestIds: $serviceRequestIds
    numOfDays: $numOfDays
  ) {
    __typename
    ...availableTimeslotsFields
  }
}
fragment availableTimeslotsFields on AppointmentTimeslot {
  activityId
  visitStartAtIso
  visitEndAtIso
  timeslotId
  timeslotInstance
  timezone
  locationId
}
query GetAvailableTimeslots(
  $locationId: String!
  $appointmentId: String
  $serviceRequestIds: [String!]
  $numOfDays: Int
) {
  consumerAvailableTimeslots(
    locationId: $locationId
    appointmentId: $appointmentId
    serviceRequestIds: $serviceRequestIds
    numOfDays: $numOfDays
  ) {
    __typename
    ...availableTimeslotsFields
  }
}
fragment availableTimeslotsFields on AppointmentTimeslot {
  activityId
  visitStartAtIso
  visitEndAtIso
  timeslotId
  timeslotInstance
  timezone
  locationId
}
query GetCCCVehicles(
  $cccKeyIdentifiers: [CCCVehicleKeyIdentifier!]!
  $resolution: String!
  $extension: String!
  $version: String!
  $placement: String
) {
  cccVehicles(cccKeyIdentifiers: $cccKeyIdentifiers) {
    cccKeyId
    cccVehicleId
    id
    name
    mobileImages(
      resolution: $resolution
      extension: $extension
      version: $version
      placement: $placement
    ) {
      url
      resolution
      size
      design
      placement
      vehicleId
    }
  }
}
query GetChargingSchedule($vehicleId: String!) {
  getVehicle(id: $vehicleId) {
    chargingSchedules {
      startTime
      duration
      location {
        latitude
        longitude
      }
      amperage
      enabled
      weekDays
    }
  }
}
query GetChargingSessionStatus($jobId: ID!, $userId: ID!) {
  getSessionStatus(jobId: $jobId, userId: $userId) {
    status
    errorMessage
    errorId
    sessionId
  }
}
query GetChargingSessionStatusByVehicleId($vehicleId: ID!) {
  getSessionStatusByVehicleId(vehicleId: $vehicleId) {
    status
    locationId
    evseId
    location {
      evses {
        evseId
      }
      siteLocation {
        id
      }
    }
  }
}
query GetCompletedSessionSummaries {
  getCompletedSessionSummaries {
    transactionId
    startInstant
    endInstant
    totalCost
    rangeAddedKm
    totalEnergyKwh
    vendor
    currencyCode
    city
  }
}
query GetCurrentUserAddresses {
  currentUser {
    backwardsCompatibleAddresses {
      id
      line1
      line2
      city
      state
      postalCode
      country
      types
    }
  }
}
query GetDetailedSessionInfoByTxnId($transactionId: ID!) {
  getDetailedSessionInfoByTxnId(transactionId: $transactionId) {
    charger {
      address {
        city
        state
        country
        line1
        line2
        postalCode
      }
      name
      vendor
      isHomeCharger
    }
    order {
      orderId
      currencyCode
      paymentMethod {
        card {
          brand
          lastFour
        }
      }
      paidTotal
    }
    summary {
      startInstant
      endInstant
      rangeAddedKm
      totalEnergyKwh
      transactionId
    }
  }
}
query GetMfaSettings {
  mfaSettings {
    channels {
      __typename
      ... on MfaEmailChannel {
        mfaId
        default
        email
      }
      ... on MfaPhoneChannel {
        mfaId
        default
        phone
      }
    }
    eligibleChannels {
      __typename
      ... on MfaEligiblePhoneChannel {
        phones {
          phone
        }
      }
      ... on MfaEligibleEmailChannel {
        email
      }
    }
    preferences {
      __typename
      ... on MfaEmailChannel {
        mfaId
        default
        email
      }
      ... on MfaPhoneChannel {
        mfaId
        default
        phone
      }
    }
  }
}
query GetReferralCode {
  currentUser {
    referralCodeValue
  }
}
query GetReferralRewards($localization: ReferralLocalizationInput!) {
  currentUser {
    referralEarnedRewardsContent(localization: $localization) {
      __typename
      ...CardSection
    }
    referralCountByStatusContent(localization: $localization) {
      __typename
      ...CardSection
    }
    referralRedeemableProductsContent(localization: $localization) {
      __typename
      ...ImageCardSection
    }
    referralAvailableMilestonesContent(localization: $localization) {
      heading
      cards {
        imageUrl
        label
        heading
        description
      }
      disclaimerText
    }
    referralOverviewContent(localization: $localization) {
      heading
      description
      learnMoreLabel
      learnMoreDescription
      learnMoreDisclaimerText
      learnMoreHeading
    }
    referralShareAction {
      iconUrl
      label
      content
      actionSuccessLabel
    }
    referralCodeValue
    canEarnReferralRewards
  }
}
fragment CardSection on ReferralAmountCardSection {
  heading
  cards {
    iconUrl
    title
    amount
    label
    description
    textDetails {
      heading
      text
      subText
    }
    tableDetails {
      emptyStateText
      columns {
        label
      }
      rows {
        cells {
          __typename
          ... on ReferralCardTableStringCell {
            value
          }
          ... on ReferralCardTableDateCell {
            dateValue
            prefix
            suffix
          }
          ... on ReferralCardTableVehicleCell {
            vin
            vehicleName
          }
          ... on ReferralCardTableVehicleEntitlementCell {
            entitlementId
            canChangeVehicleSelection
          }
        }
      }
    }
  }
}
fragment ImageCardSection on ReferralImageCardSection {
  heading
  cards {
    imageUrl
    imageLabel
    eyebrowLabel
    heading
    description
    navigationLinkUrl
    showToggleControl
  }
  disclaimerText
}
query GetReverseGeocode($params: ReverseGeocodeQueryParams!) {
  reverseGeocode(params: $params) {
    id
    name
    location {
      addressComponents {
        type
        shortName
        longName
      }
      formattedAddress
      coordinate {
        latitude
        longitude
      }
      navCoordinate {
        latitude
        longitude
      }
    }
    distance
  }
}
query GetServiceRequestMediasById($id: ID!) {
  serviceRequest(id: $id) {
    imageKeys
    videoKeys
    media {
      imageUrls
      videoUrls
    }
  }
}
query GetShareFeedbackURL($vehicleId: String!) {
  getShareFeedbackURL(vehicleId: $vehicleId)
}
query GetSubscriptionsWithPurchaseOptions(
  $vehicleId: String!
  $locale: String!
) {
  vehicleSubscriptionsWithPurchaseOptions(
    vehicleId: $vehicleId
    locale: $locale
  ) {
    __typename
    ... on ActivePaidVehicleSubscription {
      productId
      subscriptionId
      billingCycle
      nextBillDate
      currency
      description
      name
      price
      benefits {
        id
        code
        name
        darkIconUrl
        lightIconUrl
      }
      purchaseOptions {
        productId
        name
        description
        price
        currency
        billingPeriod
        isSelected
        savingVersusSelected
      }
      termsUrl
      headerImageDarkUrl
      headerImageLightUrl
      previewImageDarkUrl
      previewImageLightUrl
      previewLandscapeImageDarkUrl
      previewLandscapeImageLightUrl
      thumbnailImageDarkUrl
      thumbnailImageLightUrl
    }
    ... on ActiveTrialVehicleSubscription {
      productId
      subscriptionId
      currency
      billingCycle
      description
      name
      endDate
      price
      benefits {
        id
        code
        name
        darkIconUrl
        lightIconUrl
      }
      purchaseOptions {
        productId
        name
        description
        price
        currency
        billingPeriod
        isSelected
        savingVersusSelected
      }
      termsUrl
      headerImageDarkUrl
      headerImageLightUrl
      previewImageDarkUrl
      previewImageLightUrl
      previewLandscapeImageDarkUrl
      previewLandscapeImageLightUrl
      thumbnailImageDarkUrl
      thumbnailImageLightUrl
    }
    ... on ActivePaidTrialVehicleSubscription {
      productId
      subscriptionId
      currency
      billingCycle
      description
      name
      endDate
      nextBillDate
      price
      benefits {
        id
        code
        name
        darkIconUrl
        lightIconUrl
      }
      purchaseOptions {
        productId
        name
        description
        price
        currency
        billingPeriod
        isSelected
        savingVersusSelected
      }
      termsUrl
      headerImageDarkUrl
      headerImageLightUrl
      previewImageDarkUrl
      previewImageLightUrl
      previewLandscapeImageDarkUrl
      previewLandscapeImageLightUrl
      thumbnailImageDarkUrl
      thumbnailImageLightUrl
    }
    ... on CanceledPaidVehicleSubscription {
      productId
      subscriptionId
      billingCycle
      currency
      description
      name
      endDate
      price
      benefits {
        id
        code
        name
        darkIconUrl
        lightIconUrl
      }
      purchaseOptions {
        productId
        name
        description
        price
        currency
        billingPeriod
        isSelected
        savingVersusSelected
      }
      termsUrl
      headerImageDarkUrl
      headerImageLightUrl
      previewImageDarkUrl
      previewImageLightUrl
      previewLandscapeImageDarkUrl
      previewLandscapeImageLightUrl
      thumbnailImageDarkUrl
      thumbnailImageLightUrl
    }
    ... on CanceledTrialVehicleSubscription {
      productId
      subscriptionId
      currency
      description
      name
      endDate
      price
      benefits {
        id
        code
        name
        darkIconUrl
        lightIconUrl
      }
      purchaseOptions {
        productId
        name
        description
        price
        currency
        billingPeriod
        isSelected
        savingVersusSelected
      }
      termsUrl
      headerImageDarkUrl
      headerImageLightUrl
      previewImageDarkUrl
      previewImageLightUrl
      previewLandscapeImageDarkUrl
      previewLandscapeImageLightUrl
      thumbnailImageDarkUrl
      thumbnailImageLightUrl
    }
    ... on AvailablePaidVehicleSubscription {
      productId
      billingCycle
      currency
      description
      name
      price
      benefits {
        id
        code
        name
        darkIconUrl
        lightIconUrl
      }
      purchaseOptions {
        productId
        name
        description
        price
        currency
        billingPeriod
        isSelected
        savingVersusSelected
      }
      termsUrl
      headerImageDarkUrl
      headerImageLightUrl
      previewImageDarkUrl
      previewImageLightUrl
      previewLandscapeImageDarkUrl
      previewLandscapeImageLightUrl
      thumbnailImageDarkUrl
      thumbnailImageLightUrl
    }
  }
}
query GetTrailerProfiles($getVehicleId: String!) {
  getVehicle(id: $getVehicleId) {
    trailerProfiles {
      trailerDefault {
        __typename
        ...TrailerProfileFields
      }
      trailer1 {
        __typename
        ...TrailerProfileFields
      }
      trailer2 {
        __typename
        ...TrailerProfileFields
      }
      trailer3 {
        __typename
        ...TrailerProfileFields
      }
    }
  }
}
fragment TrailerProfileFields on TrailerProfile {
  rangeStatus
  weight
  name
}
query GetUploadedUrls($input: UploadFilesServiceInput!) {
  uploadUrls(input: $input) {
    keys
    urls
  }
}
query GetVehicle($getVehicleId: String) {
  getVehicle(id: $getVehicleId) {
    invitedUsers {
      __typename
      ... on ProvisionedUser {
        cccDevices {
          type
          mappedIdentityId
          id
          deviceName
          isPaired
          isEnabled
          cccKeyId
          cccStatus
          phonePublicKey
          cccDeviceType
          cccFriendKey
          wccLevel
        }
        devices {
          type
          mappedIdentityId
          id
          hrid
          deviceName
          isPaired
          isEnabled
          phonePublicKey
          wccLevel
        }
        firstName
        lastName
        email
        roles
        userId
        isCredentialed
      }
      ... on UnprovisionedUser {
        email
        inviteId
        status
        isCredentialed
      }
    }
  }
}
query GetWorkOrderById($workOrderId: String!) {
  queryByWorkOrderId(id: $workOrderId) {
    __typename
    ...workOrderFields
  }
}
fragment repairDetailFields on ServiceRequest {
  repairDetails {
    serviceCatalogDetail {
      laborCode
      serviceSystem
      serviceSubsystem
    }
  }
}
fragment activeRequestFields on ServiceRequest {
  __typename
  id
  status
  referenceId
  requestType
  concern
  title
  createdAt
  workorder {
    appointmentLocation {
      city
    }
    appointmentStartAtIso
    workOrderType
  }
  assignedTo {
    first
    last
  }
  source
  imageKeys
  videoKeys
  media {
    imageUrls
    videoUrls
  }
  ...repairDetailFields
  asset {
    __typename
    ... on Vehicle {
      id
    }
  }
}
fragment ServiceAddressFields on ServiceAddress {
  address1
  address2
  city
  country
  postalCode
  state
}
fragment workOrderFields on WorkOrder {
  id
  completedAt
  status
  subStatus
  orderDetails {
    currency
    total
    subtotal
    discount_total
    tax_total
  }
  serviceRequestDetails {
    __typename
    ...activeRequestFields
  }
  vehicle {
    id
  }
  workOrderType
  appointmentStartAtIso
  appointmentEndAtIso
  technicianAppointment {
    id
    location {
      id
      city
    }
    serviceAddress {
      longitude
      latitude
    }
  }
  technicianLocation {
    __typename
    ...ServiceAddressFields
  }
  eSignLink
}
query LegalPage($slug: String, $locale: String) {
  pageData: egLegalPageCollection(
    limit: 1
    where: { AND: [{ slug_exists: true }, { slug: $slug }] }
    locale: $locale
  ) {
    items {
      entryTitle
    }
  }
}
query Places($params: PlacesQueryParams!) {
  places(params: $params) {
    dataProvider
    results {
      id
      name
      distance
      location {
        addressComponents {
          type
          shortName
          longName
        }
        coordinate {
          latitude
          longitude
        }
        navCoordinate {
          latitude
          longitude
        }
        formattedAddress
      }
      driveDetails {
        detourDistance
        detourDuration
        driveDistance
        driveDuration
      }
    }
  }
}
query SearchPlaces($input: SearchPlacesInput!) {
  searchPlaces(input: $input) {
    data {
      address {
        city
        state
        street
      }
      distance
      locationName
      locationId
    }
  }
}
query SupportedFeatures {
  currentUser {
    vehicles {
      id
      vehicle {
        vehicleState {
          supportedFeatures {
            name
            status
          }
        }
      }
    }
  }
}
query chargingSites($filter: ChargingSiteQueryParams!) {
  chargingSites(filter: $filter) {
    id
    networkId
    location {
      latitude
      longitude
    }
    maxKw
    totalCount
    availableCount
    outOfOrder
    unknownAvailability
    adapterRequired
    compatible
    openNow
    rivianOnly
  }
}
query chatSession {
  getLatestChatSession {
    status
  }
}
query checkByEmail($email: String!) {
  chargepoint {
    checkByEmail(email: $email)
  }
}
query checkPasswordStrength($password: String!) {
  checkPasswordStrength(password: $password) {
    score
  }
}
query defaultPaymentMethods {
  payment {
    getPaymentMethods {
      default
      card {
        brand
        lastFour
      }
    }
  }
}
query delivery($orderId: ID!) {
  delivery(orderId: $orderId) {
    status
    carrier
    deliveryAddress {
      addressLine1
      addressLine2
      city
      state
      country
      zipcode
    }
    appointmentDetails {
      appointmentId
      startDateTime
      endDateTime
      timeZone
    }
    vehicleVIN
  }
}
query getAppleMusicOffers {
  currentUser {
    offers {
      __typename
      ... on AppleMusicOffer {
        redemptionCode
        redemptionUrl
      }
    }
  }
}
query getAppointmentInfo($id: String!) {
  workOrders: queryByRivianId(id: $id) {
    __typename
    ...workOrderFields
  }
}
fragment repairDetailFields on ServiceRequest {
  repairDetails {
    serviceCatalogDetail {
      laborCode
      serviceSystem
      serviceSubsystem
    }
  }
}
fragment activeRequestFields on ServiceRequest {
  __typename
  id
  status
  referenceId
  requestType
  concern
  title
  createdAt
  workorder {
    appointmentLocation {
      city
    }
    appointmentStartAtIso
    workOrderType
  }
  assignedTo {
    first
    last
  }
  source
  imageKeys
  videoKeys
  media {
    imageUrls
    videoUrls
  }
  ...repairDetailFields
  asset {
    __typename
    ... on Vehicle {
      id
    }
  }
}
fragment ServiceAddressFields on ServiceAddress {
  address1
  address2
  city
  country
  postalCode
  state
}
fragment workOrderFields on WorkOrder {
  id
  completedAt
  status
  subStatus
  orderDetails {
    currency
    total
    subtotal
    discount_total
    tax_total
  }
  serviceRequestDetails {
    __typename
    ...activeRequestFields
  }
  vehicle {
    id
  }
  workOrderType
  appointmentStartAtIso
  appointmentEndAtIso
  technicianAppointment {
    id
    location {
      id
      city
    }
    serviceAddress {
      longitude
      latitude
    }
  }
  technicianLocation {
    __typename
    ...ServiceAddressFields
  }
  eSignLink
}
query getEstimatedRange(
  $vehicleId: String!
  $startSoc: Float!
  $driveMode: String
  $trailerProfile: String
) {
  getVehicle(id: $vehicleId) {
    estimatedRange(
      startSoc: $startSoc
      driveMode: $driveMode
      trailerProfile: $trailerProfile
    )
  }
}
query getInVehicleTransactionsAllowed($vehicleId: String!) {
  inVehicleTransactionsAllowed(vehicleId: $vehicleId)
}
query getLiveSessionData($vehicleId: ID, $transactionId: ID, $chargerId: ID) {
  getLiveSessionData(
    vehicleId: $vehicleId
    transactionId: $transactionId
    chargerId: $chargerId
  ) {
    isRivianCharger
    isFreeSession
    vehicleChargerState {
      value
      updatedAt
    }
    chargerId
    startTime
    timeElapsed
    timeRemaining {
      value
      updatedAt
    }
    kilometersChargedPerHour {
      value
      updatedAt
    }
    power {
      value
      updatedAt
    }
    rangeAddedThisSession {
      value
      updatedAt
    }
    totalChargedEnergy {
      value
      updatedAt
    }
    timeRemaining {
      value
      updatedAt
    }
    vehicleChargerState {
      value
      updatedAt
    }
    kilometersChargedPerHour {
      value
      updatedAt
    }
    currentPrice
  }
}
query getLiveSessionHistory($vehicleId: ID) {
  getLiveSessionHistory(vehicleId: $vehicleId) {
    chartData {
      kw
      time
    }
  }
}
query getMobilePaymentOptions {
  currentUser {
    paymentMethods {
      id
      default
      type
      country
      card {
        lastFour
        brand
        expiration
      }
    }
  }
}
query getNonRivianUserSession {
  getNonRivianUserSession {
    chargerId
    transactionId
    isRivianCharger
    vehicleChargerState {
      value
      updatedAt
    }
  }
}
query getOTAUpdateDetails($vehicleId: String!) {
  getVehicle(id: $vehicleId) {
    availableOTAUpdateDetails {
      url
      version
      locale
    }
    currentOTAUpdateDetails {
      url
      version
      locale
    }
  }
}
query getPastInvoiceDetails($input: WorkorderInvoiceInput!) {
  queryWorkorderInvoice(input: $input) {
    workorderId
    eSignLink
  }
}
query getPastInvoices($id: String!) {
  workOrders: queryByRivianId(id: $id) {
    id
    status
    completedAt
    serviceRequestDetails {
      id
    }
    eSignLink
    subStatus
    customerDetails {
      id
    }
    customerRivId
  }
}
query getRegisteredWallboxes {
  getRegisteredWallboxes {
    wallboxId
    userId
    wifiId
    name
    linked
    latitude
    longitude
    chargingStatus
    power
    currentVoltage
    currentAmps
    softwareVersion
    model
    serialNumber
    maxPower
    maxVoltage
    maxAmps
  }
}
query getSavedTrips {
  getSavedTrips {
    id
    name
    startingSOC
    stops {
      name
      location {
        latitude
        longitude
      }
      targetArrivalSOCPercent
      type
      placeId {
        value
        dataProvider
      }
    }
    driveMode
    networkPreferences {
      networkId
      preference
    }
    trailerProfile
    avoidAdapterRequired
    createdAt
    updatedAt
    departureTime
  }
}
query getServiceRequests($input: ConsumerServiceRequestsInput!) {
  consumerServiceRequests(input: $input) {
    total
  }
}
query getStatus {
  chargepoint {
    getStatus {
      hasAccountLinkChargePoint
      accountLinkEmail
    }
  }
}
query getUserGuides {
  currentUser {
    id
    vehicles {
      id
      vehicle {
        userGuide {
          slug
          locale
        }
      }
    }
  }
}
query getUserSubscriptions {
  currentUser {
    hasNewsletterSubscription
    hasSmsSubscription
    hasNewsletterSmsSubscription
  }
}
query getVehicleImages(
  $extension: String!
  $resolution: String!
  $versionForVehicle: String!
  $versionForPreOrdere: String!
) {
  getVehicleOrderMobileImages(
    resolution: $resolution
    extension: $extension
    version: $versionForPreOrdere
  ) {
    orderId
    url
    resolution
    size
    design
    placement
    overlays {
      url
      overlay
      zIndex
    }
  }
  getVehicleMobileImages(
    resolution: $resolution
    extension: $extension
    version: $versionForVehicle
  ) {
    vehicleId
    url
    resolution
    size
    design
    placement
    overlays {
      url
      overlay
      zIndex
    }
  }
}
query getWallboxStatus($wallboxId: String!) {
  getWallboxStatus(wallboxId: $wallboxId) {
    wallboxId
    userId
    wifiId
    name
    linked
    latitude
    longitude
    chargingStatus
    power
    currentVoltage
    currentAmps
    softwareVersion
    model
    serialNumber
    maxPower
    maxVoltage
    maxAmps
  }
}
query initLinkingByRivianId {
  chargepoint {
    initLinkingByRivianId {
      redirectUrl
      accountExists
    }
  }
}
query locales {
  locales {
    localeCode
    fullRegionName
    shortRegionName
    localeName
  }
}
query mapSearchSavedLocations($vehicleId: String!, $userId: String!) {
  mapSearchSavedLocations(vehicleId: $vehicleId, userId: $userId) {
    name
    coordinate {
      latitude
      longitude
    }
    locationType
    navCoordinate {
      latitude
      longitude
    }
    destinationType
    id
    categories
    address
    streetAddress
    city
    country
    countryCode
    state
    stateCode
    postalCode
    description
  }
}
query planTripWithMultiStop(
  $waypoints: [CoordinatesInput!]!
  $originBearing: Float!
  $vehicleId: String!
  $startingSoc: Float!
  $startingRangeMeters: Float
  $targetArrivalSocPercent: Float
  $driveMode: String
  $networkPreferences: [NetworkPreference!]
  $trailerProfile: String
  $avoidAdapterRequired: Boolean
  $supportedConnectorTypes: [String!]
) {
  planTripMultiStop(
    originBearing: $originBearing
    vehicleId: $vehicleId
    startingSoc: $startingSoc
    waypoints: $waypoints
    startingRangeMeters: $startingRangeMeters
    targetArrivalSocPercent: $targetArrivalSocPercent
    driveMode: $driveMode
    networkPreferences: $networkPreferences
    trailerProfile: $trailerProfile
    avoidAdapterRequired: $avoidAdapterRequired
    supportedConnectorTypes: $supportedConnectorTypes
  ) {
    routes {
      routeResponse
      destinationReached
      totalChargingDuration
      arrivalSOC
      arrivalReachableDistance
      waypoints {
        waypointType
        entityId
        name
        latitude
        longitude
        maxPower
        chargeDuration
        arrivalSOC
        arrivalReachableDistance
        departureSOC
        departureReachableDistance
        adapterRequired
        isSystemAdded
      }
      energyConsumptionOnLeg
      batteryEmptyToDestinationDistance
      batteryEmptyLocationLatitude
      batteryEmptyLocationLongitude
    }
    tripPlanStatus
    chargeStationsAvailable
    socBelowLimit
  }
}
query planTripWithMultiStopV2(
  $waypoints: [RequestWaypointInput!]!
  $vehicle: String!
  $startingSoc: Float
  $startingRangeMeters: Float
  $targetArrivalSocPercent: Float
  $driveMode: DriveMode
  $networkPreferences: [NetworkPreference!]
  $trailerProfile: TripPlanTrailerProfile
  $hasAdapter: Boolean
) {
  planTrip2(
    waypoints: $waypoints
    vehicle: $vehicle
    startingSoc: $startingSoc
    startingRangeMeters: $startingRangeMeters
    targetArrivalSocPercent: $targetArrivalSocPercent
    driveMode: $driveMode
    networkPreferences: $networkPreferences
    trailerProfile: $trailerProfile
    hasAdapter: $hasAdapter
  ) {
    plans {
      planIdentifierMetadata {
        planId
        abrpRouteId
      }
      driveLegs {
        distanceMeters
        durationSeconds
        energyConsumptionKwh
        polyline5
        trafficAlongPolyline {
          polylineFirstIndex
          polylineLastIndex
          level
        }
        socAlongPolyline {
          polylineIndex
          distanceAlongPolylineMeters
          energyKwh
          socPercent
          rangeMeters
        }
        efficiency {
          polylineFirstIndex
          polylineLastIndex
          segmentLengthMeters
          segmentDurationSeconds
          consumedEnergyKwh
        }
      }
      waypoints {
        waypointType
        requestWaypointsIndex
        charger {
          adapterRequired
          entityId
          name
          maxPowerKw
          chargeDurationSeconds
        }
        latitude
        longitude
        totalTimeAtWaypointSeconds
        arrivalSOCPercent
        arrivalRangeMeters
        arrivalEnergyKwh
        targetArrivalSocPercent
        arrivalTimeUTC
        departureSOCPercent
        departureRangeMeters
        departureEnergyKwh
        departureTimeUTC
        distanceFromOriginMeters
        distanceToDestinationMeters
        isSystemAdded
      }
      batteryEmptyLocation {
        latitude
        longitude
        distanceToDestinationMeters
      }
      summary {
        destinationReachable
        socBelowLimitAtDestination
        totalChargeDurationSeconds
        totalDriveDurationSeconds
        totalDriveDistanceMeters
        totalTripDurationSeconds
        arrivalSOCPercent
        arrivalRangeMeters
        arrivalEnergyKwh
      }
    }
    status
  }
}
query vehicleOrders {
  orders(
    input: {
      orderTypes: [PRE_ORDER, VEHICLE]
      pageInfo: { from: 0, size: 10000 }
    }
  ) {
    data {
      id
      state
      fulfillmentSummaryStatus
      items {
        sku
      }
      consumerStatuses {
        isConsumerFlowComplete
      }
    }
  }
}
subscription chargingSession($vehicleID: String!) {
  chargingSession(vehicleId: $vehicleID) {
    chartData {
      soc
      powerKW
      startTime
      endTime
      timeEstimationValidityStatus
      vehicleChargerState
    }
    liveData {
      powerKW
      kilometersChargedPerHour
      rangeAddedThisSession
      totalChargedEnergy
      timeElapsed
      timeRemaining
      price
      currency
      isFreeSession
      vehicleChargerState
      startTime
    }
  }
}
subscription chatbot(
  $vehicleID: String!
  $message: String!
  $conversationId: String
) {
  diagnosticsChatbot(
    vehicleId: $vehicleID
    query: $message
    conversationId: $conversationId
  ) {
    vehicle_id
    id
    action
    data
  }
}
subscription chatbotFeedback(
  $vehicleId: String!
  $messageId: String!
  $feedback: Int
) {
  diagnosticsChatbotFeedback(
    vehicleId: $vehicleId
    messageId: $messageId
    feedback: $feedback
  ) {
    vehicle_id
    id
    action
    data
  }
}
subscription gearGuardRemoteConfig($vehicleId: String!, $commandId: String!) {
  gearGuardLiveConfig(vehicleId: $vehicleId, commandId: $commandId) {
    endpoint
    channelArn
    role
    iceServers {
      url
      username
      credential
      ttl
    }
  }
}
subscription liveCamDailyLimitState($vehicleId: String!) {
  gearGuardDailyLimit(vehicleId: $vehicleId) {
    payload
    sequenceNumber
  }
}
subscription liveCamUserConsent($vehicleId: String!) {
  gearGuardConsent(vehicleId: $vehicleId) {
    payload
    sequenceNumber
  }
}
subscription otaInstallSchedules($vehicleId: String!) {
  otaInstallSchedules(vehicleId: $vehicleId) {
    payload
    sequenceNumber
  }
}
subscription otaInstallState($vehicleId: String!) {
  otaInstallState(vehicleId: $vehicleId) {
    payload
    sequenceNumber
  }
}
subscription tirePressureState($vehicleID: String!) {
  vehicleState(id: $vehicleID) {
    tirePressureStatusFrontLeft {
      timeStamp
      value
    }
    tirePressureStatusFrontRight {
      timeStamp
      value
    }
    tirePressureStatusRearLeft {
      timeStamp
      value
    }
    tirePressureStatusRearRight {
      timeStamp
      value
    }
    tirePressureFrontLeft {
      timeStamp
      value
    }
    tirePressureFrontRight {
      timeStamp
      value
    }
    tirePressureRearLeft {
      timeStamp
      value
    }
    tirePressureRearRight {
      timeStamp
      value
    }
  }
}
subscription vehicleCloudConnection($vehicleID: String!) {
  vehicleCloudConnection(id: $vehicleID) {
    isOnline
    lastSync
  }
}
subscription vehicleCommandState($id: String!) {
  vehicleCommandState(id: $id) {
    __typename
    ...vehicleCommandStateFields
  }
}
fragment vehicleCommandStateFields on GetVehicleCommandState {
  id
  command
  createdAt
  state
  responseCode
  statusCode
}
subscription vehicleDepartureSchedules($vehicleId: String!) {
  vehicleDepartureSchedules(vehicleId: $vehicleId) {
    id
    name
    isEnabled
    occurrence {
      __typename
      ... on RepeatsWeekly {
        days
        startsAtMin
        skippedOn
      }
    }
    departureSettings {
      __typename
      ... on DepartureSettings {
        shouldOverrideChargeSchedule
        comfortSettings {
          __typename
          ... on ComfortSettings {
            surfaceHeatVentLevels {
              __typename
              ... on SurfaceHeatVentLevels {
                frontLeftSeat
                frontRightSeat
                rearLeftSeat
                rearRightSeat
                steeringWheel
              }
            }
            cabinTempCelsius
            frontDefogDefrost
          }
        }
      }
    }
  }
}
subscription vehicleGeofences($vehicleId: String!) {
  vehicleGeofences(vehicleId: $vehicleId) {
    payload
    sequenceNumber
  }
}
subscription vehicleState($vehicleID: String!) {
  vehicleState(id: $vehicleID) {
    __typename
    ...vehicleStateFields
  }
}
fragment vehicleStateFields on VehicleState {
  geoLocation {
    value
    timeStamp
  }
  gnssLocation {
    latitude
    longitude
    timeStamp
    isAuthorized
    consentStatus
  }
  activeDriverName {
    timeStamp
    value
  }
  gnssSpeed {
    timeStamp
    value
  }
  gnssBearing {
    timeStamp
    value
  }
  gnssAltitude {
    timeStamp
    value
  }
  gnssError {
    timeStamp
    positionVertical
    positionHorizontal
    speed
    bearing
  }
  alarmSoundStatus {
    timeStamp
    value
  }
  timeToEndOfCharge {
    timeStamp
    value
  }
  doorFrontLeftLocked {
    timeStamp
    value
  }
  doorFrontLeftClosed {
    timeStamp
    value
  }
  doorFrontRightLocked {
    timeStamp
    value
  }
  doorFrontRightClosed {
    timeStamp
    value
  }
  doorRearLeftLocked {
    timeStamp
    value
  }
  doorRearLeftClosed {
    timeStamp
    value
  }
  doorRearRightLocked {
    timeStamp
    value
  }
  doorRearRightClosed {
    timeStamp
    value
  }
  windowFrontLeftClosed {
    timeStamp
    value
  }
  windowFrontRightClosed {
    timeStamp
    value
  }
  windowFrontLeftCalibrated {
    timeStamp
    value
  }
  windowFrontRightCalibrated {
    timeStamp
    value
  }
  windowRearLeftCalibrated {
    timeStamp
    value
  }
  windowRearRightCalibrated {
    timeStamp
    value
  }
  windowsNextAction {
    timeStamp
    value
  }
  closureFrunkLocked {
    timeStamp
    value
  }
  closureFrunkClosed {
    timeStamp
    value
  }
  closureFrunkNextAction {
    timeStamp
    value
  }
  gearGuardLocked {
    timeStamp
    value
  }
  closureLiftgateLocked {
    timeStamp
    value
  }
  closureLiftgateClosed {
    timeStamp
    value
  }
  closureLiftgateNextAction {
    timeStamp
    value
  }
  windowRearLeftClosed {
    timeStamp
    value
  }
  windowRearRightClosed {
    timeStamp
    value
  }
  closureSideBinLeftLocked {
    timeStamp
    value
  }
  closureSideBinLeftClosed {
    timeStamp
    value
  }
  closureSideBinRightLocked {
    timeStamp
    value
  }
  closureSideBinRightClosed {
    timeStamp
    value
  }
  closureSideBinLeftNextAction {
    timeStamp
    value
  }
  closureSideBinRightNextAction {
    timeStamp
    value
  }
  closureTailgateLocked {
    timeStamp
    value
  }
  closureTailgateClosed {
    timeStamp
    value
  }
  closureTailgateNextAction {
    timeStamp
    value
  }
  closureTonneauLocked {
    timeStamp
    value
  }
  closureTonneauClosed {
    timeStamp
    value
  }
  wiperFluidState {
    timeStamp
    value
  }
  powerState {
    timeStamp
    value
  }
  batteryHvThermalEventPropagation {
    timeStamp
    value
  }
  twelveVoltBatteryHealth {
    timeStamp
    value
  }
  vehicleMileage {
    timeStamp
    value
  }
  gearStatus {
    timeStamp
    value
  }
  batteryLevel {
    timeStamp
    value
  }
  batteryCellType {
    timeStamp
    value
  }
  chargerState {
    timeStamp
    value
  }
  batteryLimit {
    timeStamp
    value
  }
  batteryNeedsLfpCalibration {
    timeStamp
    value
  }
  remoteChargingAvailable {
    timeStamp
    value
  }
  batteryHvThermalEvent {
    timeStamp
    value
  }
  rangeThreshold {
    timeStamp
    value
  }
  distanceToEmpty {
    timeStamp
    value
  }
  otaAvailableVersionGitHash {
    timeStamp
    value
  }
  otaAvailableVersion {
    timeStamp
    value
  }
  otaCurrentVersionGitHash {
    timeStamp
    value
  }
  otaCurrentVersion {
    timeStamp
    value
  }
  otaDownloadProgress {
    timeStamp
    value
  }
  otaInstallDuration {
    timeStamp
    value
  }
  otaInstallProgress {
    timeStamp
    value
  }
  otaInstallReady {
    timeStamp
    value
  }
  otaInstallTime {
    timeStamp
    value
  }
  otaInstallType {
    timeStamp
    value
  }
  otaStatus {
    timeStamp
    value
  }
  otaCurrentStatus {
    timeStamp
    value
  }
  cabinClimateInteriorTemperature {
    timeStamp
    value
  }
  cabinPreconditioningStatus {
    timeStamp
    value
  }
  cabinPreconditioningType {
    timeStamp
    value
  }
  petModeStatus {
    timeStamp
    value
  }
  petModeTemperatureStatus {
    timeStamp
    value
  }
  cabinClimateDriverTemperature {
    timeStamp
    value
  }
  gearGuardVideoStatus {
    timeStamp
    value
  }
  gearGuardVideoMode {
    timeStamp
    value
  }
  gearGuardVideoTermsAccepted {
    timeStamp
    value
  }
  defrostDefogStatus {
    timeStamp
    value
  }
  steeringWheelHeat {
    timeStamp
    value
  }
  seatFrontLeftHeat {
    timeStamp
    value
  }
  seatFrontRightHeat {
    timeStamp
    value
  }
  seatRearLeftHeat {
    timeStamp
    value
  }
  seatRearRightHeat {
    timeStamp
    value
  }
  seatThirdRowLeftHeat {
    timeStamp
    value
  }
  seatThirdRowRightHeat {
    timeStamp
    value
  }
  chargerStatus {
    timeStamp
    value
  }
  chargingDisabledACFaultState {
    timeStamp
    value
  }
  chargingDisabledAll {
    timeStamp
    value
  }
  seatFrontLeftVent {
    timeStamp
    value
  }
  seatFrontRightVent {
    timeStamp
    value
  }
  chargerDerateStatus {
    timeStamp
    value
  }
  driveMode {
    timeStamp
    value
  }
  serviceMode {
    timeStamp
    value
  }
  trailerStatus {
    timeStamp
    value
  }
  btmFfHardwareFailureStatus {
    timeStamp
    value
  }
  btmIcHardwareFailureStatus {
    timeStamp
    value
  }
  btmLfdHardwareFailureStatus {
    timeStamp
    value
  }
  btmOcHardwareFailureStatus {
    timeStamp
    value
  }
  btmRfHardwareFailureStatus {
    timeStamp
    value
  }
  btmRfdHardwareFailureStatus {
    timeStamp
    value
  }
  carWashMode {
    timeStamp
    value
  }
  chargePortState {
    timeStamp
    value
  }
  chargingTimeEstimationValidity {
    timeStamp
    value
  }
  limitedAccelCold {
    timeStamp
    value
  }
  limitedRegenCold {
    timeStamp
    value
  }
  rearHitchStatus {
    timeStamp
    value
  }
}
subscription vehicleStateWidget($vehicleID: String!) {
  vehicleState(id: $vehicleID) {
    __typename
    ...vehicleStateFields
  }
}
fragment vehicleStateFields on VehicleState {
  geoLocation {
    value
    timeStamp
  }
  gnssLocation {
    latitude
    longitude
    timeStamp
    isAuthorized
    consentStatus
  }
  activeDriverName {
    timeStamp
    value
  }
  gnssSpeed {
    timeStamp
    value
  }
  gnssBearing {
    timeStamp
    value
  }
  gnssAltitude {
    timeStamp
    value
  }
  gnssError {
    timeStamp
    positionVertical
    positionHorizontal
    speed
    bearing
  }
  alarmSoundStatus {
    timeStamp
    value
  }
  timeToEndOfCharge {
    timeStamp
    value
  }
  doorFrontLeftLocked {
    timeStamp
    value
  }
  doorFrontLeftClosed {
    timeStamp
    value
  }
  doorFrontRightLocked {
    timeStamp
    value
  }
  doorFrontRightClosed {
    timeStamp
    value
  }
  doorRearLeftLocked {
    timeStamp
    value
  }
  doorRearLeftClosed {
    timeStamp
    value
  }
  doorRearRightLocked {
    timeStamp
    value
  }
  doorRearRightClosed {
    timeStamp
    value
  }
  windowFrontLeftClosed {
    timeStamp
    value
  }
  windowFrontRightClosed {
    timeStamp
    value
  }
  windowFrontLeftCalibrated {
    timeStamp
    value
  }
  windowFrontRightCalibrated {
    timeStamp
    value
  }
  windowRearLeftCalibrated {
    timeStamp
    value
  }
  windowRearRightCalibrated {
    timeStamp
    value
  }
  windowsNextAction {
    timeStamp
    value
  }
  closureFrunkLocked {
    timeStamp
    value
  }
  closureFrunkClosed {
    timeStamp
    value
  }
  closureFrunkNextAction {
    timeStamp
    value
  }
  gearGuardLocked {
    timeStamp
    value
  }
  closureLiftgateLocked {
    timeStamp
    value
  }
  closureLiftgateClosed {
    timeStamp
    value
  }
  closureLiftgateNextAction {
    timeStamp
    value
  }
  windowRearLeftClosed {
    timeStamp
    value
  }
  windowRearRightClosed {
    timeStamp
    value
  }
  closureSideBinLeftLocked {
    timeStamp
    value
  }
  closureSideBinLeftClosed {
    timeStamp
    value
  }
  closureSideBinRightLocked {
    timeStamp
    value
  }
  closureSideBinRightClosed {
    timeStamp
    value
  }
  closureSideBinLeftNextAction {
    timeStamp
    value
  }
  closureSideBinRightNextAction {
    timeStamp
    value
  }
  closureTailgateLocked {
    timeStamp
    value
  }
  closureTailgateClosed {
    timeStamp
    value
  }
  closureTailgateNextAction {
    timeStamp
    value
  }
  closureTonneauLocked {
    timeStamp
    value
  }
  closureTonneauClosed {
    timeStamp
    value
  }
  wiperFluidState {
    timeStamp
    value
  }
  powerState {
    timeStamp
    value
  }
  batteryHvThermalEventPropagation {
    timeStamp
    value
  }
  twelveVoltBatteryHealth {
    timeStamp
    value
  }
  vehicleMileage {
    timeStamp
    value
  }
  gearStatus {
    timeStamp
    value
  }
  batteryLevel {
    timeStamp
    value
  }
  batteryCellType {
    timeStamp
    value
  }
  chargerState {
    timeStamp
    value
  }
  batteryLimit {
    timeStamp
    value
  }
  batteryNeedsLfpCalibration {
    timeStamp
    value
  }
  remoteChargingAvailable {
    timeStamp
    value
  }
  batteryHvThermalEvent {
    timeStamp
    value
  }
  rangeThreshold {
    timeStamp
    value
  }
  distanceToEmpty {
    timeStamp
    value
  }
  otaAvailableVersionGitHash {
    timeStamp
    value
  }
  otaAvailableVersion {
    timeStamp
    value
  }
  otaCurrentVersionGitHash {
    timeStamp
    value
  }
  otaCurrentVersion {
    timeStamp
    value
  }
  otaDownloadProgress {
    timeStamp
    value
  }
  otaInstallDuration {
    timeStamp
    value
  }
  otaInstallProgress {
    timeStamp
    value
  }
  otaInstallReady {
    timeStamp
    value
  }
  otaInstallTime {
    timeStamp
    value
  }
  otaInstallType {
    timeStamp
    value
  }
  otaStatus {
    timeStamp
    value
  }
  otaCurrentStatus {
    timeStamp
    value
  }
  cabinClimateInteriorTemperature {
    timeStamp
    value
  }
  cabinPreconditioningStatus {
    timeStamp
    value
  }
  cabinPreconditioningType {
    timeStamp
    value
  }
  petModeStatus {
    timeStamp
    value
  }
  petModeTemperatureStatus {
    timeStamp
    value
  }
  cabinClimateDriverTemperature {
    timeStamp
    value
  }
  gearGuardVideoStatus {
    timeStamp
    value
  }
  gearGuardVideoMode {
    timeStamp
    value
  }
  gearGuardVideoTermsAccepted {
    timeStamp
    value
  }
  defrostDefogStatus {
    timeStamp
    value
  }
  steeringWheelHeat {
    timeStamp
    value
  }
  seatFrontLeftHeat {
    timeStamp
    value
  }
  seatFrontRightHeat {
    timeStamp
    value
  }
  seatRearLeftHeat {
    timeStamp
    value
  }
  seatRearRightHeat {
    timeStamp
    value
  }
  seatThirdRowLeftHeat {
    timeStamp
    value
  }
  seatThirdRowRightHeat {
    timeStamp
    value
  }
  chargerStatus {
    timeStamp
    value
  }
  chargingDisabledACFaultState {
    timeStamp
    value
  }
  chargingDisabledAll {
    timeStamp
    value
  }
  seatFrontLeftVent {
    timeStamp
    value
  }
  seatFrontRightVent {
    timeStamp
    value
  }
  chargerDerateStatus {
    timeStamp
    value
  }
  driveMode {
    timeStamp
    value
  }
  serviceMode {
    timeStamp
    value
  }
  trailerStatus {
    timeStamp
    value
  }
  btmFfHardwareFailureStatus {
    timeStamp
    value
  }
  btmIcHardwareFailureStatus {
    timeStamp
    value
  }
  btmLfdHardwareFailureStatus {
    timeStamp
    value
  }
  btmOcHardwareFailureStatus {
    timeStamp
    value
  }
  btmRfHardwareFailureStatus {
    timeStamp
    value
  }
  btmRfdHardwareFailureStatus {
    timeStamp
    value
  }
  carWashMode {
    timeStamp
    value
  }
  chargePortState {
    timeStamp
    value
  }
  chargingTimeEstimationValidity {
    timeStamp
    value
  }
  limitedAccelCold {
    timeStamp
    value
  }
  limitedRegenCold {
    timeStamp
    value
  }
  rearHitchStatus {
    timeStamp
    value
  }
}


Comment

Name:
Email (For new comment notifications, optional):
What is 4 + 4 minus one?
Comment: