Last active
October 27, 2022 01:14
-
-
Save tmack8001/8363077af5362af9375c46c57c4cf698 to your computer and use it in GitHub Desktop.
Rivian GraphQL Postman Collection
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "info": { | |
| "_postman_id": "838a5157-8988-4cff-84d5-1901fcdf37ca", | |
| "name": "Rivian GraphQL", | |
| "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", | |
| "_exporter_id": "15345" | |
| }, | |
| "item": [ | |
| { | |
| "name": "CSRF", | |
| "event": [ | |
| { | |
| "listen": "test", | |
| "script": { | |
| "exec": [ | |
| "const response = pm.response.json()", | |
| "pm.globals.set(\"csrf_token\", response.data.createCsrfToken.csrfToken)", | |
| "pm.globals.set(\"a-sess\", response.data.createCsrfToken.appSessionToken)", | |
| "" | |
| ], | |
| "type": "text/javascript" | |
| } | |
| } | |
| ], | |
| "request": { | |
| "method": "POST", | |
| "header": [ | |
| { | |
| "key": "Content-Type", | |
| "value": "application/json" | |
| } | |
| ], | |
| "body": { | |
| "mode": "graphql", | |
| "graphql": { | |
| "query": "mutation CreateCSRFToken {\n createCsrfToken {\n __typename\n csrfToken\n appSessionToken\n }\n}", | |
| "variables": "" | |
| } | |
| }, | |
| "url": { | |
| "raw": "{{base_url}}/api/gql/gateway/graphql", | |
| "host": [ | |
| "{{base_url}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "gql", | |
| "gateway", | |
| "graphql" | |
| ] | |
| } | |
| }, | |
| "response": [] | |
| }, | |
| { | |
| "name": "GraphQL Mobile Login", | |
| "event": [ | |
| { | |
| "listen": "test", | |
| "script": { | |
| "exec": [ | |
| "const response = pm.response.json()", | |
| "", | |
| "pm.globals.set(\"u-sess\", response.data.login.userSessionToken)", | |
| "pm.globals.set(\"refresh_token\", response.data.login.refreshToken)", | |
| "pm.globals.set(\"bearer_token\", response.data.login.accessToken)", | |
| "" | |
| ], | |
| "type": "text/javascript" | |
| } | |
| } | |
| ], | |
| "request": { | |
| "method": "POST", | |
| "header": [ | |
| { | |
| "key": "Content-Type", | |
| "value": "application/json" | |
| }, | |
| { | |
| "key": "Csrf-Token", | |
| "value": "{{csrf_token}}" | |
| }, | |
| { | |
| "key": "A-Sess", | |
| "value": "{{a-sess}}" | |
| }, | |
| { | |
| "key": "Apollographql-Client-Name", | |
| "value": "com.rivian.ios.consumer-apollo-ios" | |
| } | |
| ], | |
| "body": { | |
| "mode": "graphql", | |
| "graphql": { | |
| "query": "mutation Login($email: String!, $password: String!) {\n login(email: $email, password: $password) {\n __typename\n ... on MobileLoginResponse {\n __typename\n accessToken\n refreshToken\n userSessionToken\n }\n ... on MobileMFALoginResponse {\n __typename\n otpToken\n }\n }\n}", | |
| "variables": "{\n \"email\": \"{{username}}\",\n \"password\": \"{{password}}\"\n}" | |
| } | |
| }, | |
| "url": { | |
| "raw": "{{base_url}}/api/gql/gateway/graphql", | |
| "host": [ | |
| "{{base_url}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "gql", | |
| "gateway", | |
| "graphql" | |
| ] | |
| } | |
| }, | |
| "response": [] | |
| }, | |
| { | |
| "name": "GQL Current User", | |
| "event": [ | |
| { | |
| "listen": "test", | |
| "script": { | |
| "exec": [ | |
| "const response = pm.response.json()", | |
| "", | |
| "pm.globals.set(\"userid\", response.data.currentUser.id)", | |
| "" | |
| ], | |
| "type": "text/javascript" | |
| } | |
| } | |
| ], | |
| "request": { | |
| "method": "POST", | |
| "header": [ | |
| { | |
| "key": "Content-Type", | |
| "value": "application/json" | |
| }, | |
| { | |
| "key": "Csrf-Token", | |
| "value": "{{csrf_token}}" | |
| }, | |
| { | |
| "key": "A-Sess", | |
| "value": "{{a-sess}}" | |
| }, | |
| { | |
| "key": "U-Sess", | |
| "value": "{{u-sess}}" | |
| } | |
| ], | |
| "body": { | |
| "mode": "graphql", | |
| "graphql": { | |
| "query": "query CurrentUser {\n currentUser {\n __typename\n id\n firstName\n lastName\n email\n vehicles {\n __typename\n id\n owner\n roles\n name\n vin\n vas {\n __typename\n vasVehicleId\n vehiclePublicKey\n }\n vehicle {\n __typename\n model\n mobileConfiguration {\n __typename\n trimOption {\n __typename\n optionId\n optionName\n }\n exteriorColorOption {\n __typename\n optionId\n optionName\n }\n interiorColorOption {\n __typename\n optionId\n optionName\n }\n }\n vehicleState {\n __typename\n supportedFeatures {\n __typename\n name\n status\n }\n }\n }\n settings {\n __typename\n name {\n __typename\n value\n }\n }\n }\n enrolledPhones {\n __typename\n vas {\n __typename\n vasPhoneId\n publicKey\n }\n enrolled {\n __typename\n deviceType\n deviceName\n vehicleId\n identityId\n }\n }\n pendingInvites {\n __typename\n id\n invitedByFirstName\n role\n status\n vehicleId\n vehicleModel\n email\n }\n address {\n __typename\n country\n }\n }\n}", | |
| "variables": "" | |
| } | |
| }, | |
| "url": { | |
| "raw": "{{base_url}}/api/gql/gateway/graphql", | |
| "host": [ | |
| "{{base_url}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "gql", | |
| "gateway", | |
| "graphql" | |
| ] | |
| } | |
| }, | |
| "response": [] | |
| }, | |
| { | |
| "name": "GraphQL getUserInfo", | |
| "event": [ | |
| { | |
| "listen": "test", | |
| "script": { | |
| "exec": [ | |
| "const response = pm.response.json()", | |
| "pm.globals.set(\"vehicle_id\", response.data.currentUser.vehicles[0].id)" | |
| ], | |
| "type": "text/javascript" | |
| } | |
| } | |
| ], | |
| "request": { | |
| "auth": { | |
| "type": "noauth" | |
| }, | |
| "method": "POST", | |
| "header": [ | |
| { | |
| "key": "Content-Type", | |
| "value": "application/json" | |
| }, | |
| { | |
| "key": "Dc-Cid", | |
| "value": "m-ios-{{$guid}}", | |
| "disabled": true | |
| }, | |
| { | |
| "key": "Csrf-Token", | |
| "value": "{{csrf_token}}", | |
| "disabled": true | |
| }, | |
| { | |
| "key": "A-Sess", | |
| "value": "{{a-sess}}" | |
| }, | |
| { | |
| "key": "U-Sess", | |
| "value": "{{u-sess}}" | |
| } | |
| ], | |
| "body": { | |
| "mode": "graphql", | |
| "graphql": { | |
| "query": "query getUserInfo {\n currentUser {\n __typename\n id\n firstName\n lastName\n email\n emails {\n __typename\n email\n type\n }\n phone\n phones {\n __typename\n phone\n type\n verified\n }\n addresses {\n __typename\n id\n line1\n line2\n city\n state\n country\n postalCode\n types\n createdAt\n updatedAt\n }\n createdAt\n updatedAt\n vehicles {\n __typename\n id\n vin\n vas {\n __typename\n vasVehicleId\n vehiclePublicKey\n }\n owner\n roles\n name\n state\n type\n createdAt\n updatedAt\n vehicle {\n __typename\n id\n vin\n modelYear\n make\n model\n manufacturingConfiguration {\n __typename\n options {\n __typename\n optionId\n groupId\n }\n }\n marketingConfiguration {\n __typename\n basePrice\n configurationDate\n options {\n __typename\n groupId\n optionId\n groupName\n optionName\n price\n }\n rulesetVersion\n }\n mobileConfiguration {\n __typename\n trimOption {\n __typename\n optionId\n optionName\n }\n exteriorColorOption {\n __typename\n optionId\n optionName\n }\n interiorColorOption {\n __typename\n optionId\n optionName\n }\n }\n homologationRegion\n expectedBuildDate\n plannedBuildDate\n expectedGeneralAssemblyStartDate\n actualGeneralAssemblyDate\n }\n }\n enrolledPhones {\n __typename\n vas {\n __typename\n vasPhoneId\n publicKey\n }\n enrolled {\n __typename\n deviceType\n deviceName\n vehicleId\n identityId\n }\n }\n }\n}", | |
| "variables": "" | |
| } | |
| }, | |
| "url": { | |
| "raw": "{{base_url}}/api/gql/gateway/graphql", | |
| "host": [ | |
| "{{base_url}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "gql", | |
| "gateway", | |
| "graphql" | |
| ] | |
| } | |
| }, | |
| "response": [] | |
| }, | |
| { | |
| "name": "GraphQL getRegisteredWallboxes", | |
| "event": [ | |
| { | |
| "listen": "test", | |
| "script": { | |
| "exec": [ | |
| "const response = pm.response.json()", | |
| "pm.globals.set(\"charger_id\", response.data.getRegisteredWallboxes[0].wallboxId)" | |
| ], | |
| "type": "text/javascript" | |
| } | |
| } | |
| ], | |
| "protocolProfileBehavior": { | |
| "disabledSystemHeaders": {} | |
| }, | |
| "request": { | |
| "auth": { | |
| "type": "noauth" | |
| }, | |
| "method": "POST", | |
| "header": [ | |
| { | |
| "key": "Content-Type", | |
| "value": "application/json" | |
| }, | |
| { | |
| "key": "Dc-Cid", | |
| "value": "account--{{$guid}}", | |
| "disabled": true | |
| }, | |
| { | |
| "key": "Csrf-Token", | |
| "value": "{{csrf_token}}", | |
| "disabled": true | |
| }, | |
| { | |
| "key": "A-Sess", | |
| "value": "{{a-sess}}" | |
| }, | |
| { | |
| "key": "U-Sess", | |
| "value": "{{u-sess}}" | |
| } | |
| ], | |
| "body": { | |
| "mode": "graphql", | |
| "graphql": { | |
| "query": "query getRegisteredWallboxes { getRegisteredWallboxes { \n __typename\n wallboxId \n userId\n wifiId\n name\n linked\n latitude\n longitude\n chargingStatus\n power\n currentVoltage\n currentAmps\n softwareVersion\n model\n serialNumber\n maxAmps\n maxVoltage\n maxPower\n }\n}", | |
| "variables": "" | |
| } | |
| }, | |
| "url": { | |
| "raw": "{{base_url}}/api/gql/chrg/user/graphql", | |
| "host": [ | |
| "{{base_url}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "gql", | |
| "chrg", | |
| "user", | |
| "graphql" | |
| ] | |
| } | |
| }, | |
| "response": [] | |
| }, | |
| { | |
| "name": "GraphQL getVehicleState", | |
| "request": { | |
| "method": "POST", | |
| "header": [ | |
| { | |
| "key": "Content-Type", | |
| "value": "application/json" | |
| }, | |
| { | |
| "key": "Dc-Cid", | |
| "value": "m-ios-{{$guid}}", | |
| "disabled": true | |
| }, | |
| { | |
| "key": "Csrf-Token", | |
| "value": "{{csrf_token}}", | |
| "disabled": true | |
| }, | |
| { | |
| "key": "A-Sess", | |
| "value": "{{a-sess}}" | |
| }, | |
| { | |
| "key": "U-Sess", | |
| "value": "{{u-sess}}" | |
| } | |
| ], | |
| "body": { | |
| "mode": "graphql", | |
| "graphql": { | |
| "query": "query GetVehicleState($vehicleId: String!) {\n vehicleState(id: $vehicleId) {\n __typename\n gnssLocation {\n __typename\n latitude\n longitude\n timeStamp\n }\n alarmSoundStatus {\n __typename\n timeStamp\n value\n }\n timeToEndOfCharge {\n __typename\n timeStamp\n value\n }\n doorFrontLeftLocked {\n __typename\n timeStamp\n value\n }\n doorFrontLeftClosed {\n __typename\n timeStamp\n value\n }\n doorFrontRightLocked {\n __typename\n timeStamp\n value\n }\n doorFrontRightClosed {\n __typename\n timeStamp\n value\n }\n doorRearLeftLocked {\n __typename\n timeStamp\n value\n }\n doorRearLeftClosed {\n __typename\n timeStamp\n value\n }\n doorRearRightLocked {\n __typename\n timeStamp\n value\n }\n doorRearRightClosed {\n __typename\n timeStamp\n value\n }\n windowFrontLeftClosed {\n __typename\n timeStamp\n value\n }\n windowFrontRightClosed {\n __typename\n timeStamp\n value\n }\n windowFrontLeftCalibrated {\n __typename\n timeStamp\n value\n }\n windowFrontRightCalibrated {\n __typename\n timeStamp\n value\n }\n windowRearLeftCalibrated {\n __typename\n timeStamp\n value\n }\n windowRearRightCalibrated {\n __typename\n timeStamp\n value\n }\n closureFrunkLocked {\n __typename\n timeStamp\n value\n }\n closureFrunkClosed {\n __typename\n timeStamp\n value\n }\n gearGuardLocked {\n __typename\n timeStamp\n value\n }\n closureLiftgateLocked {\n __typename\n timeStamp\n value\n }\n closureLiftgateClosed {\n __typename\n timeStamp\n value\n }\n windowRearLeftClosed {\n __typename\n timeStamp\n value\n }\n windowRearRightClosed {\n __typename\n timeStamp\n value\n }\n closureSideBinLeftLocked {\n __typename\n timeStamp\n value\n }\n closureSideBinLeftClosed {\n __typename\n timeStamp\n value\n }\n closureSideBinRightLocked {\n __typename\n timeStamp\n value\n }\n closureSideBinRightClosed {\n __typename\n timeStamp\n value\n }\n closureTailgateLocked {\n __typename\n timeStamp\n value\n }\n closureTailgateClosed {\n __typename\n timeStamp\n value\n }\n closureTonneauLocked {\n __typename\n timeStamp\n value\n }\n closureTonneauClosed {\n __typename\n timeStamp\n value\n }\n wiperFluidState {\n __typename\n timeStamp\n value\n }\n powerState {\n __typename\n timeStamp\n value\n }\n batteryHvThermalEventPropagation {\n __typename\n timeStamp\n value\n }\n vehicleMileage {\n __typename\n timeStamp\n value\n }\n brakeFluidLow {\n __typename\n timeStamp\n value\n }\n gearStatus {\n __typename\n timeStamp\n value\n }\n tirePressureStatusFrontLeft {\n __typename\n timeStamp\n value\n }\n tirePressureStatusValidFrontLeft {\n __typename\n timeStamp\n value\n }\n tirePressureStatusFrontRight {\n __typename\n timeStamp\n value\n }\n tirePressureStatusValidFrontRight {\n __typename\n timeStamp\n value\n }\n tirePressureStatusRearLeft {\n __typename\n timeStamp\n value\n }\n tirePressureStatusValidRearLeft {\n __typename\n timeStamp\n value\n }\n tirePressureStatusRearRight {\n __typename\n timeStamp\n value\n }\n tirePressureStatusValidRearRight {\n __typename\n timeStamp\n value\n }\n batteryLevel {\n __typename\n timeStamp\n value\n }\n chargerState {\n __typename\n timeStamp\n value\n }\n batteryHvThermalEvent {\n __typename\n timeStamp\n value\n }\n rangeThreshold {\n __typename\n timeStamp\n value\n }\n distanceToEmpty {\n __typename\n timeStamp\n value\n }\n otaAvailableVersionNumber {\n __typename\n timeStamp\n value\n }\n otaAvailableVersionWeek {\n __typename\n timeStamp\n value\n }\n otaAvailableVersionYear {\n __typename\n timeStamp\n value\n }\n otaCurrentVersionNumber {\n __typename\n timeStamp\n value\n }\n otaCurrentVersionWeek {\n __typename\n timeStamp\n value\n }\n otaCurrentVersionYear {\n __typename\n timeStamp\n value\n }\n otaDownloadProgress {\n __typename\n timeStamp\n value\n }\n otaInstallDuration {\n __typename\n timeStamp\n value\n }\n otaInstallProgress {\n __typename\n timeStamp\n value\n }\n otaInstallReady {\n __typename\n timeStamp\n value\n }\n otaInstallTime {\n __typename\n timeStamp\n value\n }\n otaInstallType {\n __typename\n timeStamp\n value\n }\n otaStatus {\n __typename\n timeStamp\n value\n }\n otaCurrentStatus {\n __typename\n timeStamp\n value\n }\n cabinClimateInteriorTemperature {\n __typename\n timeStamp\n value\n }\n cabinClimateDriverTemperature {\n __typename\n timeStamp\n value\n }\n cabinPreconditioningStatus {\n __typename\n timeStamp\n value\n }\n cabinPreconditioningType {\n __typename\n timeStamp\n value\n }\n petModeStatus {\n __typename\n timeStamp\n value\n }\n petModeTemperatureStatus {\n __typename\n timeStamp\n value\n }\n }\n}", | |
| "variables": "{\n \"vehicleId\":\"{{vehicle_id}}\"\n}" | |
| } | |
| }, | |
| "url": { | |
| "raw": "{{base_url}}/api/gql/gateway/graphql", | |
| "host": [ | |
| "{{base_url}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "gql", | |
| "gateway", | |
| "graphql" | |
| ] | |
| } | |
| }, | |
| "response": [] | |
| }, | |
| { | |
| "name": "GraphQL getLiveSessionData Mobile", | |
| "request": { | |
| "method": "POST", | |
| "header": [ | |
| { | |
| "key": "Content-Type", | |
| "value": "application/json" | |
| }, | |
| { | |
| "key": "U-Sess", | |
| "value": "{{u-sess}}" | |
| } | |
| ], | |
| "body": { | |
| "mode": "graphql", | |
| "graphql": { | |
| "query": "query getLiveSessionData($userId: ID!, $vehicleId: ID) {\n getLiveSessionData(userId: $userId, vehicleId: $vehicleId) {\n isRivianCharger\n isFreeSession\n vehicleChargerState {\n value\n updatedAt\n }\n chargerId\n startTime\n timeElapsed\n timeRemaining {\n value\n updatedAt\n }\n kilometersChargedPerHour {\n value\n updatedAt\n }\n power {\n value\n updatedAt\n }\n rangeAddedThisSession {\n value\n updatedAt\n }\n totalChargedEnergy {\n value\n updatedAt\n }\n currentPrice\n }\n }", | |
| "variables": "{\n \"userId\": \"{{userid}}\",\n \"vehicleId\": \"{{vehicle_id}}\"\n}" | |
| } | |
| }, | |
| "url": { | |
| "raw": "{{base_url}}/api/gql/chrg/user/graphql", | |
| "host": [ | |
| "{{base_url}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "gql", | |
| "chrg", | |
| "user", | |
| "graphql" | |
| ] | |
| } | |
| }, | |
| "response": [] | |
| }, | |
| { | |
| "name": "GraphQL getSessionHistory Mobile", | |
| "request": { | |
| "method": "POST", | |
| "header": [ | |
| { | |
| "key": "U-Sess", | |
| "value": "{{u-sess}}" | |
| }, | |
| { | |
| "key": "Content-Type", | |
| "value": "application/json" | |
| } | |
| ], | |
| "body": { | |
| "mode": "graphql", | |
| "graphql": { | |
| "query": "query getSessionHistory($userId: ID!, $vehicleId: String!, $startDate: String, $endDate: String) {\n getSessionHistory(\n userId: $userId\n vehicleId: $vehicleId\n startDate: $startDate\n endDate: $endDate\n ) {\n transactionId\n locationId\n vehicleId\n startDateTime\n endDateTime\n currency\n cost\n paidTotal\n energyOffered\n energyUnits\n rangeAdded\n rangeUnits\n vendor\n chargerType\n chargerName\n address\n city\n country\n postalCode\n }\n }", | |
| "variables": "{\n \"userId\": \"{{userid}}\",\n \"vehicleId\": \"{{vehicleId}}\",\n \"startDate\": \"2022-10-01\",\n \"endDate\": \"2022-10-25\"\n}" | |
| } | |
| }, | |
| "url": { | |
| "raw": "{{base_url}}/api/gql/chrg/user/graphql", | |
| "host": [ | |
| "{{base_url}}" | |
| ], | |
| "path": [ | |
| "api", | |
| "gql", | |
| "chrg", | |
| "user", | |
| "graphql" | |
| ] | |
| } | |
| }, | |
| "response": [] | |
| }, | |
| { | |
| "name": "Vehicle Latest All", | |
| "request": { | |
| "auth": { | |
| "type": "bearer", | |
| "bearer": [ | |
| { | |
| "key": "token", | |
| "value": "{{bearer_token}}", | |
| "type": "string" | |
| } | |
| ] | |
| }, | |
| "method": "POST", | |
| "header": [ | |
| { | |
| "key": "Host", | |
| "value": "cesium.rivianservices.com" | |
| }, | |
| { | |
| "key": "Accept", | |
| "value": "*/*" | |
| }, | |
| { | |
| "key": "Content-Type", | |
| "value": "application/json" | |
| }, | |
| { | |
| "key": "Accept-Encoding", | |
| "value": "gzip, deflate" | |
| }, | |
| { | |
| "key": "Namespace", | |
| "value": "mobile-ios" | |
| }, | |
| { | |
| "key": "User-Agent", | |
| "value": "RivianApp/707 CFNetwork/1237 Darwin/20.4.0" | |
| }, | |
| { | |
| "key": "Accept-Language", | |
| "value": "en-us" | |
| } | |
| ], | |
| "body": { | |
| "mode": "raw", | |
| "raw": "{\r\n \"car\": \"{{vehicle_id}}\",\r\n \"properties\": [\r\n \"$gnss\",\r\n \"adas/*\",\r\n \"body/*\",\r\n \"core/*\",\r\n \"dynamics/*\",\r\n \"energy_storage/*\",\r\n \"telematics/*\",\r\n \"thermal/*\",\r\n \"vas/*\"\r\n ]\r\n}" | |
| }, | |
| "url": { | |
| "raw": "{{vehicle_url}}/v2/vehicle/latest", | |
| "host": [ | |
| "{{vehicle_url}}" | |
| ], | |
| "path": [ | |
| "v2", | |
| "vehicle", | |
| "latest" | |
| ] | |
| } | |
| }, | |
| "response": [] | |
| } | |
| ], | |
| "event": [ | |
| { | |
| "listen": "prerequest", | |
| "script": { | |
| "type": "text/javascript", | |
| "exec": [ | |
| "" | |
| ] | |
| } | |
| }, | |
| { | |
| "listen": "test", | |
| "script": { | |
| "type": "text/javascript", | |
| "exec": [ | |
| "" | |
| ] | |
| } | |
| } | |
| ], | |
| "variable": [ | |
| { | |
| "key": "otp_token", | |
| "value": "-", | |
| "type": "string" | |
| }, | |
| { | |
| "key": "username", | |
| "value": "{{username}}", | |
| "type": "string" | |
| }, | |
| { | |
| "key": "password", | |
| "value": "{{password}}", | |
| "type": "string" | |
| }, | |
| { | |
| "key": "base_url", | |
| "value": "https://rivian.com", | |
| "type": "string" | |
| }, | |
| { | |
| "key": "auth_url", | |
| "value": "https://auth.rivianservices.com", | |
| "type": "string" | |
| }, | |
| { | |
| "key": "vehicle_url", | |
| "value": "https://cesium.rivianservices.com", | |
| "type": "string" | |
| } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment