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 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