{"info":{"_postman_id":"f91a3719-230c-4e51-b707-68ca1aa85a5e","name":"Jaguar InControl API","description":"<html><head></head><body><p>This is an unofficial documentation of the JLR InControl Remote control API. The API has been reversed engineered and is in no way complete and is probably not entirely accurate. It's still work in progress and will change significantly. The API features the ability to retrieve information from the authenticated user and the associated vehicles as well as controlling various vehicle functions.</p>\n<p>The API uses multiple different base URLs and the different requests require various combinations of specific <code>Accept</code>and <code>Content-Type</code>header values as well as a plethora of different authentication tokens and pin values. </p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"6250319","collectionId":"f91a3719-230c-4e51-b707-68ca1aa85a5e","publishedId":"RznBMzqo","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"9E1B32"},"publishDate":"2019-01-15T23:19:42.000Z"},"item":[{"name":"user authentication","item":[{"name":"auth","event":[{"listen":"test","script":{"id":"2711cf0f-84c9-4f0e-8451-11277ca72d67","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"access_token\", jsonData.access_token);","postman.setEnvironmentVariable(\"authorization_token\", jsonData.authorization_token);","postman.setEnvironmentVariable(\"refresh_token\", jsonData.refresh_token);","postman.setEnvironmentVariable(\"expires_in\", jsonData.expires_in);","","","pm.test(\"Server response must be valid and have a JSON body\", function () {","     // assert that the status code is 200","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants","     // assert that the response has a valid JSON body","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed","});"],"type":"text/javascript"}}],"id":"dc5d321e-26fc-4636-b440-8167584ada4d","request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"description":"<p>(Required) hard coded basic auth passsword.</p>\n","key":"Authorization","value":"Basic YXM6YXNwYXNz"},{"description":"<p>UUID4 device ID</p>\n","key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Connection","value":"close"}],"body":{"mode":"raw","raw":"{\"grant_type\":\"password\",\"password\":\"{{password}}\",\"username\":\"{{username}}\"}"},"url":"https://ifas.prod-row.jlrmotor.com/ifas/jlr/tokens","description":"<p>Initial user authentication requires you to pass your username (email address) and password as well as specifying the appropriate grant type. The server will return with an access token, authorization token, expiration timer, refresh token and a token type indicator.</p>\n<p>The access token is used for the actual bearer authentication. It's unclear what the purpose of the refresh token and authorization token is at this point but it must be included in the body when registering a device.</p>\n<p>Note that the Basic auth password must be included. It's a hard coded value that seemingly serves no real purpose other than to satisfy some arbitrary requirement.</p>\n<p>The access token must be included in all subsequent requests as the <code>Authorization</code> bearer in the HTTP header.</p>\n","urlObject":{"protocol":"https","path":["ifas","jlr","tokens"],"host":["ifas","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"dc5d321e-26fc-4636-b440-8167584ada4d"},{"name":"auth Copy","event":[{"listen":"test","script":{"id":"2711cf0f-84c9-4f0e-8451-11277ca72d67","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"access_token\", jsonData.access_token);","postman.setEnvironmentVariable(\"authorization_token\", jsonData.authorization_token);","postman.setEnvironmentVariable(\"refresh_token\", jsonData.refresh_token);","postman.setEnvironmentVariable(\"expires_in\", jsonData.expires_in);","","","pm.test(\"Server response must be valid and have a JSON body\", function () {","     // assert that the status code is 200","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants","     // assert that the response has a valid JSON body","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed","});"],"type":"text/javascript"}}],"id":"0a52ff32-8ad1-4a5b-bfe5-afa7b3ce27b5","request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"description":"<p>(Required) hard coded basic auth passsword.</p>\n","key":"Authorization","value":"Basic YXM6YXNwYXNz"},{"description":"<p>UUID4 device ID</p>\n","key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Connection","value":"close"}],"body":{"mode":"raw","raw":"{\"grant_type\":\"password\",\"password\":\"{{password}}\",\"username\":\"{{username}}\"}"},"url":"https://ifas.prod-row.jlrmotor.com/ifas/jlr/tokens","description":"<p>Initial user authentication requires you to pass your username (email address) and password as well as specifying the appropriate grant type. The server will return with an access token, authorization token, expiration timer, refresh token and a token type indicator.</p>\n<p>The access token is used for the actual bearer authentication. It's unclear what the purpose of the refresh token and authorization token is at this point but it must be included in the body when registering a device.</p>\n<p>Note that the Basic auth password must be included. It's a hard coded value that seemingly serves no real purpose other than to satisfy some arbitrary requirement.</p>\n<p>The access token must be included in all subsequent requests as the <code>Authorization</code> bearer in the HTTP header.</p>\n","urlObject":{"protocol":"https","path":["ifas","jlr","tokens"],"host":["ifas","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0a52ff32-8ad1-4a5b-bfe5-afa7b3ce27b5"},{"name":"refresh token","event":[{"listen":"test","script":{"id":"2711cf0f-84c9-4f0e-8451-11277ca72d67","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"access_token\", jsonData.access_token);","postman.setEnvironmentVariable(\"authorization_token\", jsonData.authorization_token);","postman.setEnvironmentVariable(\"refresh_token\", jsonData.refresh_token);","postman.setEnvironmentVariable(\"expires_in\", jsonData.expires_in);","","","pm.test(\"Server response must be valid and have a JSON body\", function () {","     // assert that the status code is 200","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants","     // assert that the response has a valid JSON body","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed","});"],"type":"text/javascript"}}],"id":"c23d189a-ba8b-4cdd-b00b-b4640c9e05d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"description":"<p>(Required) hard coded basic auth passsword.</p>\n","key":"Authorization","value":"Basic YXM6YXNwYXNz"},{"description":"<p>UUID4 device ID</p>\n","key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Connection","value":"close"}],"body":{"mode":"raw","raw":"{\"grant_type\":\"refresh_token\",\"refresh_token\":\"{{refresh_token}}\"}"},"url":"https://ifas.prod-row.jlrmotor.com/ifas/jlr/tokens","description":"<p>Using a refresh token before the access token expiration it is possible to request new tokens without having to submit username and password.</p>\n<p>Note that after refreshing the access token you will have to perform device registration and user login again.</p>\n","urlObject":{"protocol":"https","path":["ifas","jlr","tokens"],"host":["ifas","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"c23d189a-ba8b-4cdd-b00b-b4640c9e05d4"},{"name":"device registration","event":[{"listen":"test","script":{"id":"78b1f87b-f04c-42a2-a761-2b908002a7d6","exec":["pm.test(\"Server returns correct response code (204)\", function () {","    pm.response.to.have.status(204);","});"],"type":"text/javascript"}}],"id":"ff8b8a31-a711-4264-8bd8-2d45f05ed888","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Content-Type","value":"application/json"},{"key":"Connection","value":"close"}],"body":{"mode":"raw","raw":"{\n    \"access_token\": \"{{access_token}}\",\n    \"authorization_token\": \"{{authorization_token}}\",\n    \"expires_in\": \"{{expires_in}}\",\n    \"deviceID\":\"{{deviceId}}\"\n}+"},"url":"https://ifop.prod-row.jlrmotor.com/ifop/jlr/users/{{username}}/clients","description":"<p>After a succesful user authentication it is neccessary to register a device. A device is simply a UUID4 value that is designated the deviceID. Once the device Id is registered, both the device ID and the access token need to be supplied when accessing the vehicle service.</p>\n<p>The server should return 204, and hence, an empty body, if the request was accepted.</p>\n","urlObject":{"protocol":"https","path":["ifop","jlr","users","{{username}}","clients"],"host":["ifop","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ff8b8a31-a711-4264-8bd8-2d45f05ed888"},{"name":"login user","event":[{"listen":"test","script":{"id":"0279044c-6542-4e75-9d4e-96938dfa24da","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"userid\", jsonData.userId);","","pm.test(\"Server response must be valid and have a JSON body\", function () {","     // assert that the status code is 200","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants","     // assert that the response has a valid JSON body","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed","});"],"type":"text/javascript"}}],"id":"65b89dbe-e104-4aa3-9237-d6bec2171d2b","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.User-v3+json","description":"<p>Accept type for user info</p>\n"},{"key":"Content-Type","value":"application/json","description":"<p>Content type</p>\n"},{"key":"X-Device-Id","value":"{{deviceId}}","description":"<p>registered device ID</p>\n"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/users?loginName={{username}}","description":"<p>After successful user authentication and device id registration, we need to log in the user name and retrieve the user ID. The user ID is required for many vehicle related API functions.</p>\n<p>The server will return user information upon a successful login request.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","users"],"host":["if9","prod-row","jlrmotor","com"],"query":[{"key":"loginName","value":"{{username}}"}],"variable":[]}},"response":[],"_postman_id":"65b89dbe-e104-4aa3-9237-d6bec2171d2b"},{"name":"New Request","id":"785f50dc-1609-4e84-88db-b0736a182519","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"urlObject":{"query":[],"variable":[]},"url":""},"response":[],"_postman_id":"785f50dc-1609-4e84-88db-b0736a182519"}],"id":"27c2e9d6-fa7f-4e49-82a3-5852904716c7","description":"<p>User authentication is basically a three step process. First the user credentials are authenticated and various tokens returned. Then an arbitrary device ID is registered before finally you perform a formal login that gives you access to various priviliged operations.</p>\n","event":[{"listen":"prerequest","script":{"id":"685dc692-586b-4fd8-80f7-c042bb0086db","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"b7719892-fffc-4a72-bd19-12f6e462aa45","type":"text/javascript","exec":[""]}}],"_postman_id":"27c2e9d6-fa7f-4e49-82a3-5852904716c7"},{"name":"vehicle information","item":[{"name":"get vehicle attributes","id":"11dc9de8-7c47-4bf3-9fc5-c3a3a55dbcca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/vnd.ngtp.org.VehicleAttributes-v4+json"},{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/attributes  ","description":"<p>getting attributes for a specific vehicle (VIN)</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","attributes  "],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"11dc9de8-7c47-4bf3-9fc5-c3a3a55dbcca"},{"name":"get contact information","id":"c7748ac1-9a13-443a-a710-884149a9fb0c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/contactinfo/{{mcc}}","description":"<p>Get country specific contact information based on the supplied Mobile Country Code (MCC). Note that it does not show contact information for the specified country specifically, but rather the contact information for a specified VIN given that you find yourself in the given country. </p>\n<p>Meaning, if your vehicle was registered in Sweden, this request will still provide you with the Swedish contact details even if you travel to Denmark.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","contactinfo","{{mcc}}"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"c7748ac1-9a13-443a-a710-884149a9fb0c"},{"name":"get vehicle tarrifs","id":"7f0b01c3-bddb-40c1-9c4e-e780c2c7793e","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.TariffSettings-v1+json"},{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/tariffs","description":"<p>Retrieve tarrifs, also known as charging periods, associated with vehicle. The server will return an empty <code>200 OK</code> response if not charging period exist.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","tariffs"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7f0b01c3-bddb-40c1-9c4e-e780c2c7793e"},{"name":"get vehicle contact information","id":"ddf26d72-1f16-42a5-bc72-da3ffa9ecfe6","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/contactinfo/310","description":"<p>Get contact information associated with vehicle.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","contactinfo","310"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ddf26d72-1f16-42a5-bc72-da3ffa9ecfe6"},{"name":"get vehicle subscription packages","id":"4dd58e04-56a2-4fda-b3af-352e0c5f547e","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/subscriptionpackages","description":"<p>Get list of subscription packages for a specific VIN</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","subscriptionpackages"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4dd58e04-56a2-4fda-b3af-352e0c5f547e"},{"name":"get vehicle status","id":"d3b57f40-6888-4571-aef9-8759dbbdc3cd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/vnd.ngtp.org.if9.healthstatus-v2+json"},{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/status","description":"<p>Get the status for a specific vehicle (VIN)</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","status"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d3b57f40-6888-4571-aef9-8759dbbdc3cd"},{"name":"get vehicle status v3","id":"5e45f2e7-6ca1-4a57-a99a-049611e21b95","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/vnd.ngtp.org.if9.healthstatus-v3+json"},{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/status?includeInactive=true","description":"<p>Version 3 of the vehicle status API request. The returned data is structured a bit differently here with EV data compartmentalized nicely.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","status"],"host":["if9","prod-row","jlrmotor","com"],"query":[{"key":"includeInactive","value":"true"}],"variable":[]}},"response":[],"_postman_id":"5e45f2e7-6ca1-4a57-a99a-049611e21b95"},{"name":"get service status","id":"475bbfde-06b2-4677-a188-3f54a36d4321","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v4+json"},{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/services/{{customer_service_id}}","description":"<p>Whenever a vehicle command is sent the server responds with a service status message. Any given operation is identified by a specific service id, or <code>customerServiceId</code>. You can use this id to check the operation status at any time to check whether it's currently running, what the status is, etc.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","services","{{customer_service_id}}"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"475bbfde-06b2-4677-a188-3f54a36d4321"},{"name":"get vehicle departure timers","id":"7f88b50a-bc93-4a02-b704-99e58ad1b86b","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.DepartureTimerSettings-v1+json"},{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/departuretimers","description":"<p>get departure timers for specified vehicle.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","departuretimers"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7f88b50a-bc93-4a02-b704-99e58ad1b86b"},{"name":"get vehicle wakup time","id":"276b979e-bcfe-49fd-9fe9-49599145abee","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.VehicleWakeupTime-v2+json"},{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/wakeuptime","description":"<p>Get configured wakeup time for specified vehicle.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","wakeuptime"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"276b979e-bcfe-49fd-9fe9-49599145abee"},{"name":"get vehicle trips","id":"af76c5d6-3ed1-483b-bf82-6ef92e6c8271","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/vnd.ngtp.org.triplist-v2+json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/trips?count=1000  ","description":"<p>Get the last 1,000 trips associated with the specified vehicle.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","trips"],"host":["if9","prod-row","jlrmotor","com"],"query":[{"key":"count","value":"1000  "}],"variable":[]}},"response":[],"_postman_id":"af76c5d6-3ed1-483b-bf82-6ef92e6c8271"},{"name":"get vehicle trip","id":"f3bb4eae-4052-4fc3-b24c-9ccb2c31b048","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/trips/{{trip_id}}/route?pageSize=1000&page=0","description":"<p>Get data associated with a specific trip. </p>\n<p>A valid vehicle trip id should be passed along with this request URI.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","trips","{{trip_id}}","route"],"host":["if9","prod-row","jlrmotor","com"],"query":[{"key":"pageSize","value":"1000"},{"key":"page","value":"0"}],"variable":[]}},"response":[],"_postman_id":"f3bb4eae-4052-4fc3-b24c-9ccb2c31b048"},{"name":"get vehicle position","id":"e1d0e76b-9078-4792-8af2-441dbb81f111","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/position","description":"<p>get current position of vehicle. Will return lat, long, speed, heading and timestamp.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","position"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e1d0e76b-9078-4792-8af2-441dbb81f111"},{"name":"get vehicle climate temperature target","id":"56fbf83c-2a93-470f-add2-ddcaf274df72","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/settings/ClimateControlRccTargetTemp","description":"<p>Get target temperature for the Vehicle climate.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","settings","ClimateControlRccTargetTemp"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"56fbf83c-2a93-470f-add2-ddcaf274df72"},{"name":"get vehicle health status","id":"3bc121c9-a4c9-4b85-b664-7a353ddab333","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.StartServiceConfiguration-v3+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v4+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{vhs_token}}\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/healthstatus","description":"<p>Get the health status of the specified VIN. This requires you to pass a valid VHS auth token.</p>\n<p>This operation will effectively refresh the vehicle status. After the request is sent the vehicle will be polled and the API data updated. The request will reply with a <code>customerServiceId</code> that you can use to check the status of the service request. Once it's successful the vehicle API data will have been successfully refreshed.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","healthstatus"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3bc121c9-a4c9-4b85-b664-7a353ddab333"}],"id":"5aefae94-7485-4a07-92ff-82675cd4ec16","description":"<p>The API provides numerous ways to retrieve data regarding a specific vehicle. Certain actions, such as retrieving health status requires additional authentication. </p>\n","event":[{"listen":"prerequest","script":{"id":"c971d439-2c18-40de-868a-d5f8f2fb2538","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"e2d6a110-8fe8-4861-ba4d-5d8767951be3","type":"text/javascript","exec":[""]}}],"_postman_id":"5aefae94-7485-4a07-92ff-82675cd4ec16"},{"name":"user information","item":[{"name":"lost password","event":[{"listen":"test","script":{"id":"93f973fa-6da2-41d3-b9a0-b3ac5fd86772","exec":["var jsonData = JSON.parse(responseBody);","","pm.test(\"Server response must be valid and have a JSON body\", function () {","     // assert that the status code is 200","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants","     // assert that the response has a valid JSON body","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed","});"],"type":"text/javascript"}}],"id":"b4771387-7839-4f89-ad7c-0866f59774b4","request":{"auth":{"type":"noauth","isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.User-v3+json"},{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Authorization","value":"Basic aGlxOnNvbW1hcjEy","description":"<p>(Required) Hard coded basic auth password</p>\n","type":"text"}],"body":{"mode":"formdata","formdata":[]},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/users/{{userid}}","description":"<p>Recover lost password for specified username. Uses a hardcoded basic auth password. The server will send out a password recovery email when a succefull request is received.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","users","{{userid}}"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b4771387-7839-4f89-ad7c-0866f59774b4"},{"name":"get user info from id","event":[{"listen":"test","script":{"id":"93f973fa-6da2-41d3-b9a0-b3ac5fd86772","exec":["var jsonData = JSON.parse(responseBody);","","pm.test(\"Server response must be valid and have a JSON body\", function () {","     // assert that the status code is 200","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants","     // assert that the response has a valid JSON body","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed","});"],"type":"text/javascript"}}],"id":"89afbaf2-d787-4a6f-bb56-3036315ce592","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.User-v3+json"},{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/users/{{userid}}","description":"<p>List user information based on the user ID.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","users","{{userid}}"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"89afbaf2-d787-4a6f-bb56-3036315ce592"},{"name":"get vehicles for user id","event":[{"listen":"test","script":{"id":"f1769519-62b1-41a5-877c-508e564f8602","exec":["var jsonData = JSON.parse(responseBody);","","pm.test(\"Server response must be valid and have a JSON body\", function () {","     // assert that the status code is 200","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants","     // assert that the response has a valid JSON body","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed","});"],"type":"text/javascript"}}],"id":"4ad8fc5f-8b4e-41e1-a9cc-868cd2530b3f","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/users/{{userid}}/vehicles?primaryOnly=true","description":"<p>Lists the vehicles associated with the specified user id. It is unclear at this time what the <code>primaryOnly</code> parameter does as all vehicles associated with the user id will be returned regardless. It is possible that this parameter is simply not used for anything.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","users","{{userid}}","vehicles"],"host":["if9","prod-row","jlrmotor","com"],"query":[{"key":"primaryOnly","value":"true"}],"variable":[]}},"response":[],"_postman_id":"4ad8fc5f-8b4e-41e1-a9cc-868cd2530b3f"},{"name":"update user profile information","event":[{"listen":"test","script":{"id":"f1769519-62b1-41a5-877c-508e564f8602","exec":["var jsonData = JSON.parse(responseBody);","","pm.test(\"Server response must be valid and have a JSON body\", function () {","     // assert that the status code is 200","     pm.response.to.be.ok; // info, success, redirection, clientError,  serverError, are other variants","     // assert that the response has a valid JSON body","     pm.response.to.be.json; // this assertion also checks if a body  exists, so the above check is not needed","});"],"type":"text/javascript"}}],"id":"a6a5c4f8-baff-4d67-835c-084e4dfb7806","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.User-v3+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"body":{"mode":"raw","raw":"{\"authCredentials\":null,\"contact\":{\"birthday\":null,\"businessPhone\":null,\"emailAddress\":\"myemail@email.com\",\"firstName\":\"First\",\"gender\":null,\"homePhone\":null,\"lastName\":\"Last\",\"middleName\":null,\"mobilePhone\":\"+44412345678\",\"title\":\"mr\",\"userPreferences\":{\"dateFormat\":\"DD.MM.YYYY\",\"language\":\"nb_NO\",\"timeZone\":\"Europe/Brussels\",\"unitsOfMeasurement\":\"Km Litre Celsius VolPerDist Wh DistPerkWh\"}},\"homeAddress\":{\"addressLine1\":\"My Address\",\"addressLine2\":null,\"city\":\"Lillehammer\",\"country\":\"NO\",\"stateProvince\":\"\",\"street\":null,\"zipCode\":\"12345\"},\"homeMarket\":\"NOR\",\"loginName\":\"myemail@email.com\",\"marketingOffersAccepted\":false,\"marketingPrefsUpdatedAt\":\"2019-01-15T22:08:18+0000\",\"nextOfKin\":null,\"pin\":null,\"secureAnswer1\":null,\"secureAnswer2\":null,\"secureAnswer3\":null,\"secureQuestion1\":null,\"secureQuestion2\":null,\"secureQuestion3\":null,\"userId\":\"12345E12345\",\"userType\":null,\"vhsMessagesAccepted\":true}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/users/{{userid}}","description":"<p>Update the profile information for the associated user.</p>\n<p>It's unclear what the <code>authCredentials</code> value is used for but it seems like the mobile app just sets it to <code>null</code>. </p>\n","urlObject":{"protocol":"https","path":["if9","jlr","users","{{userid}}"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a6a5c4f8-baff-4d67-835c-084e4dfb7806"}],"id":"20744e62-90df-4b47-af09-a9db9baa5269","event":[{"listen":"prerequest","script":{"id":"6c23bbf1-bddd-4292-b50b-983f16912ba9","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"86d8eaa8-e678-4dfb-aadd-5b989d849c84","type":"text/javascript","exec":[""]}}],"_postman_id":"20744e62-90df-4b47-af09-a9db9baa5269","description":""},{"name":"vehicle commands","item":[{"name":"honk horn","id":"cac59687-db04-44fb-bebb-4c135f68aed2","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.StartServiceConfiguration-v3+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v4+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{hblf_token}}\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/honkBlink","description":"<p>Honk the horn and flash the lights associated with the specified vehicle. Requires you to pass a HBLF service auth token.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","honkBlink"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"cac59687-db04-44fb-bebb-4c135f68aed2"},{"name":"lock vehicle","id":"d54c547a-88de-4168-8bbe-e246d970fc15","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.StartServiceConfiguration-v2+json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"body":{"mode":"raw","raw":"{\"token\":\"{{rdl_token}}\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/lock","description":"<p>Lock the vehicle remotely. Requires a valid RDL service authentication token.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","lock"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d54c547a-88de-4168-8bbe-e246d970fc15"},{"name":"unlock vehicle","id":"9b51987b-b44b-4933-82d4-67539a42dedb","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.StartServiceConfiguration-v2+json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"body":{"mode":"raw","raw":"{\"token\":\"{{rdu_token}}\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/unlock","description":"<p>Unlock the vehicle remotely. Requires a valid RDU service authentication token.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","unlock"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9b51987b-b44b-4933-82d4-67539a42dedb"},{"name":"stop alarm","id":"05808376-ba4d-47f1-9acc-ec85cce5c936","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.StartServiceConfiguration-v3+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v4+json","type":"text"}],"body":{"mode":"raw","raw":"{\"token\":\"{{aloff_token}}\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/alarmOff","description":"<p>Reset the vehicle alarm. Requires a valid ALOFF service authentication token.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","alarmOff"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"05808376-ba4d-47f1-9acc-ec85cce5c936"},{"name":"set vehicle nickname and registration number","id":"04e503cf-29c6-4b4b-a9d1-2939dfa4863a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Content-Type","name":"Content-Type","value":"application/vnd.ngtp.org.VehicleAttributes-v4+json","type":"text"}],"body":{"mode":"raw","raw":"{\"nickname\":\"my cool name\",\"registrationNumber\":\"REGNUMBER-12345\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/attributes","description":"<p>Set the vehicle nick name and registration number.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","attributes"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"04e503cf-29c6-4b4b-a9d1-2939dfa4863a"},{"name":"start climate preconditioning","id":"59910c25-c107-4335-b178-22e343782b41","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.PhevService-v1+json; charset=utf"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v5+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{ecc_token}}\",\"serviceParameters\":[{\"key\":\"PRECONDITIONING\",\"value\":\"START\"},{\"key\":\"TARGET_TEMPERATURE_CELSIUS\",\"value\":\"210\"}]}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/preconditioning","description":"<p>Start the climate preconditioning at the specified tempareture. Note the absense of the decimal sign. 210 equals 21.0C.</p>\n<p>For the LO setting you would pass 155 and for the HI setting you would pass 285.</p>\n<p>This operation requires a valid ECC service authentication token.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","preconditioning"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"59910c25-c107-4335-b178-22e343782b41"},{"name":"stop climate preconditioning","id":"9e9203f1-0993-40b3-9fe7-a08b281a4e4e","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.PhevService-v1+json; charset=utf"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v5+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{ecc_token}}\",\"serviceParameters\":[{\"key\":\"PRECONDITIONING\",\"value\":\"STOP\"}]}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/preconditioning","description":"<p>Stop the climate preconditioning immediately.</p>\n<p>This operation requires a valid ECC service authentication token.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","preconditioning"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9e9203f1-0993-40b3-9fe7-a08b281a4e4e"},{"name":"start charging","id":"4c35d8fd-b27f-4c4b-8be6-d4cccaf0c380","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.PhevService-v1+json; charset=utf"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v5+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{cp_token}}\",\"serviceParameters\":[{\"key\":\"CHARGE_NOW_SETTING\",\"value\":\"FORCE_ON\"}]}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/chargeProfile","description":"<p>Start charging the EV. Requires a valid cp service token.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","chargeProfile"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4c35d8fd-b27f-4c4b-8be6-d4cccaf0c380"},{"name":"stop charging","id":"ab0ebb05-e9ca-45e3-a3be-c29d3c1a90e2","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.PhevService-v1+json; charset=utf"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v5+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{cp_token}}\",\"serviceParameters\":[{\"key\":\"CHARGE_NOW_SETTING\",\"value\":\"FORCE_OFF\"}]}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/chargeProfile","description":"<p>Stop charging the EV. Requires a valid cp service token.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","chargeProfile"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ab0ebb05-e9ca-45e3-a3be-c29d3c1a90e2"},{"name":"set max state of charge","id":"95726c5a-e2a3-47f2-8ff3-b71245507758","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.PhevService-v1+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v5+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{cp_token}}\",\"serviceParameters\":[{\"key\":\"SET_PERMANENT_MAX_SOC\",\"value\":80}]}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/chargeProfile","description":"<p>Set the maximum state of charge. This requires a valid CP authentication token. The vehicle will never charge more than the specified charge level (in percentage)</p>\n<p>Note, this is not a feature the official mobile app exposes to the user.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","chargeProfile"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"95726c5a-e2a3-47f2-8ff3-b71245507758"},{"name":"set one-off max state of charge","id":"c072eb2e-c0da-4ba0-a0f6-ed7ccf40b95c","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.PhevService-v1+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v5+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{cp_token}}\",\"serviceParameters\":[{\"key\":\"SET_ONE_OFF_MAX_SOC\",\"value\":80}]}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/chargeProfile","description":"<p>Set the one-off maximum state of charge. This requires a valid CP authentication token. The vehicle will never charge more than the specified charge level (in percentage) for the current charging session. Will presumably reset to whatever was the previous value the next time the vehicle is connected to a charger.</p>\n<p>Note, this is not a feature the official mobile app exposes to the user.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","chargeProfile"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"c072eb2e-c0da-4ba0-a0f6-ed7ccf40b95c"},{"name":"add departure timer","id":"9d39ced2-2a5b-4eab-8808-03224d3847e9","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.PhevService-v1+json; charset=utf"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v5+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{cp_token}}\",\"departureTimerSetting\":{\"timers\":[{\"departureTime\":{\"hour\":6,\"minute\":30},\"timerIndex\":50,\"timerTarget\":{\"singleDay\":{\"day\":13,\"month\":1,\"year\":2019}},\"timerType\":{\"key\":\"BOTHCHARGEANDPRECONDITION\",\"value\":true}}]}}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/chargeProfile","description":"<p>Add a single departure timer for the specified vehicle. You need to pass a year, month, day, hour and minute in order to specify the departure time. A valid CP service token is required.</p>\n<p>The departure timer is seemingly identifier by its numerical index value. A unique index timer value must be specified when creating the departure timer.</p>\n<p>Note that if you use an index value that already exist the old departure timer will be overwritten with the new one.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","chargeProfile"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9d39ced2-2a5b-4eab-8808-03224d3847e9"},{"name":"add repeated departure timer","id":"0f9e8b6d-ac8a-4c89-adf4-e4e110764d54","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.PhevService-v1+json; charset=utf"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v5+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{cp_token}}\",\"departureTimerSetting\":{\"timers\":[{\"departureTime\":{\"hour\":11,\"minute\":30},\"timerIndex\":50,\"timerTarget\":{\"repeatSchedule\":{\"friday\":false,\"monday\":true,\"saturday\":false,\"sunday\":false,\"thursday\":false,\"tuesday\":true,\"wednesday\":true}},\"timerType\":{\"key\":\"BOTHCHARGEANDPRECONDITION\",\"value\":true}}]}}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/chargeProfile","description":"<p>Add repeated departure timer for the specified vehicle. You need to pass a year, month, day, hour and minute in order to specify the departure time. Additionally, you need to specify which weekdays the departure timer should be active for. A valid CP service token is required. </p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","chargeProfile"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0f9e8b6d-ac8a-4c89-adf4-e4e110764d54"},{"name":"delete departure timers","id":"041302b2-c533-4d5c-a085-2c3be676e8e3","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.PhevService-v1+json; charset=utf"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v5+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{cp_token}}\",\"departureTimerSetting\":{\"timers\":[{\"timerIndex\":0}]}}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/chargeProfile","description":"<p>Delete departure timers specified by their index. Requires a valid CP service authentication token.</p>\n<p>You can list multiple departure timers to be deleted.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","chargeProfile"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"041302b2-c533-4d5c-a085-2c3be676e8e3"},{"name":"add charging period","id":"b62d5a5f-24ff-4752-b705-99f44c746f5a","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.PhevService-v1+json; charset=utf"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v5+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{cp_token}}\",\"tariffSettings\":{\"tariffs\":[{\"tariffIndex\":0,\"tariffDefinition\":{\"enabled\":true,\"repeatSchedule\":{\"monday\":true,\"tuesday\":true,\"wednesday\":true,\"thursday\":true,\"friday\":true,\"saturday\":true,\"sunday\":true},\"tariffZone\":[{\"zoneName\":\"TARIFF_ZONE_A\",\"bandType\":\"OFFPEAK\",\"endTime\":{\"hour\":9,\"minute\":0}},{\"zoneName\":\"TARIFF_ZONE_B\",\"bandType\":\"PEAK\",\"endTime\":{\"hour\":0,\"minute\":0}}]}}]}}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/chargeProfile","description":"<p>Set a time period for charging. The vehicle will prioritize charging during the specified period. </p>\n<p>It's a bit unclear how this part of the API actually works. Specifying a charging period from 01:00 to 08:30 results in three <code>TARIFF_ZONE</code> entries with different <code>bandType</code> values and end times, 00:00, 01:00 and 08:30. </p>\n<p>Requires a valid CP service auth token.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","chargeProfile"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b62d5a5f-24ff-4752-b705-99f44c746f5a"},{"name":"prioritize climate","id":"5d1872d5-8c97-4520-8977-cd9e1f039727","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.PhevService-v1+json; charset=utf"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v5+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{ecc_token}}\",\"serviceParameters\":[{\"key\":\"PRIORITY_SETTING\",\"value\":\"PRIORITIZE_RANGE\"}]}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/preconditioning","description":"<p>Prioritize climate controls for either range or comfort. </p>\n<p>You can pass either <code>PRIORITIZE_RANGE</code>or <code>PRIORITIZE_COMFORT</code> in the <code>serviceParameter</code> value field to prioritize either range or comfort.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","preconditioning"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5d1872d5-8c97-4520-8977-cd9e1f039727"},{"name":"add wake up time","id":"b44dbfb3-b576-4360-b8fb-b7d9a775f662","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.StartServiceConfiguration-v3+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v3+json"}],"body":{"mode":"raw","raw":"{\"serviceCommand\":\"START\",\"startTime\":1547845200000,\"token\":\"{{swu_token}}\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/swu","description":"<p>The vehicle will enter a sleep mode after four days of inactivity. In order to use remote control features after this time a wake up timer is required. </p>\n<p>By adding a wake up timer for a specific time before the vehicle enters sleep mode you can ensure that the vehicle is available for remote control for a period of time after the specified wake up time.</p>\n<p>This request requires a valid swu service auth token.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","swu"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b44dbfb3-b576-4360-b8fb-b7d9a775f662"},{"name":"stop wake up time","id":"c51abe83-4a13-48c5-924e-d3f820f737e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.StartServiceConfiguration-v3+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v3+json"}],"body":{"mode":"raw","raw":"{\"serviceCommand\":\"END\", \"token\":\"{{swu_token}}\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/swu","description":"<p>Cancel the wakeup timer.</p>\n<p>This request requires a valid swu service auth token.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","swu"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"c51abe83-4a13-48c5-924e-d3f820f737e3"},{"name":"enable service mode","id":"eaec1680-fc6f-4775-98b2-4aa8d0d2f78c","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.StartServiceConfiguration-v3+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v4+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{prov_token}}\",\"serviceCommand\":\"protectionStrategy_serviceMode\",\"startTime\":null,\"endTime\":1547450047403}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/prov","description":"<p>The vehicle will enter service mode which will allow the vehicle to be serviced without InControl triggering a vehicle theft alarm.</p>\n<p>This request requires a valid PROV service authentication token and a future time (in epoch milliseconds) must be provided to specify when the service mode will be disabled again. The mobile app always specifies a timestamp 10 hours in the future and it's not clear whether this is an arbitrary value chosen for the app or if it's actually enforced by the API.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","prov"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"eaec1680-fc6f-4775-98b2-4aa8d0d2f78c"},{"name":"enable transport mode","id":"23587d26-c2c1-4c7b-80e1-2467e15f7801","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.StartServiceConfiguration-v3+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v4+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{prov_token}}\",\"serviceCommand\":\"protectionStrategy_transportMode\",\"startTime\":null,\"endTime\":1547450047403}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/prov","description":"<p>The vehicle will enter service mode which will allow the vehicle to be transported on a ferry, train, etc without InControl triggering a vehicle theft alarm.</p>\n<p>This request requires a valid PROV service authentication token and a future time (in epoch milliseconds) must be provided to specify when the transport mode will be disabled again. The mobile app always specifies a timestamp 10 hours in the future and it's not clear whether this is an arbitrary value chosen for the app or if it's actually enforced by the API.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","prov"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"23587d26-c2c1-4c7b-80e1-2467e15f7801"},{"name":"enable privacy switch","id":"b95b62ff-f301-4cfb-9d76-9dce0f1d5a61","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.StartServiceConfiguration-v3+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v4+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{prov_token}}\",\"serviceCommand\":\"privacySwitch_on\",\"startTime\":null,\"endTime\":null}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/prov","description":"<p>The vehicle will not log journey information as long as privacy mode is enabled. The API seems to support specifying a start and stop time with this request but the mobile app currently just passes <code>null</code> values along with the request so that the privacy mode is enabled until the user disables it again. </p>\n<p>This request requires a valid PROV service authentication token.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","prov"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b95b62ff-f301-4cfb-9d76-9dce0f1d5a61"},{"name":"disable privacy switch","id":"38b5b453-07ff-45d0-b34e-07dadb289860","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.StartServiceConfiguration-v3+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.ServiceStatus-v4+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{prov_token}}\",\"serviceCommand\":\"privacySwitch_off\",\"startTime\":null,\"endTime\":null}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/prov","description":"<p>The vehicle will resume journey information logging.</p>\n<p>This request requires a valid PROV service authentication token.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","prov"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"38b5b453-07ff-45d0-b34e-07dadb289860"},{"name":"authenticate VHS","event":[{"listen":"test","script":{"id":"d554d76e-ddcc-4b33-9838-4441752ac52a","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"vhs_token\", jsonData.token);"],"type":"text/javascript"}}],"id":"1b143944-d4f6-4c32-8a7e-464488bf88ad","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.AuthenticateRequest-v2+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"body":{"mode":"raw","raw":"{\"serviceName\":\"VHS\",\"pin\":\"\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/users/{{userid}}/authenticate","description":"<p>Authenticate to the VHS service and obtain the VHS authorization token. This is required for certain vehicle related operations. Retrieving vehicle health status is one example of such an operation.</p>\n<p>To authenticate to the service you nede to pass an empty pin value.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","users","{{userid}}","authenticate"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"1b143944-d4f6-4c32-8a7e-464488bf88ad"},{"name":"authenticate HBLF","event":[{"listen":"test","script":{"id":"d554d76e-ddcc-4b33-9838-4441752ac52a","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"hblf_token\", jsonData.token);"],"type":"text/javascript"}}],"id":"a4afbc35-b94c-4cc9-9847-3be3e8c5f140","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.AuthenticateRequest-v2+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"body":{"mode":"raw","raw":"{\"serviceName\":\"HBLF\",\"pin\":\"{{last_four_of_vin\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/users/{{userid}}/authenticate","description":"<p>Authenticate to the HBLF service. This requires the client to pass a PIN which is the last four digits in the vehicle VIN. I'm assuming HBLF stands for HonkBlink Something something and you need the token returned from this authentication operation to send the honkblink command.</p>\n<p>In order to authenticate to the service, the last four digits of the vehicle VIN number need to be supplied in the body.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","users","{{userid}}","authenticate"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a4afbc35-b94c-4cc9-9847-3be3e8c5f140"},{"name":"authenticate ECC","event":[{"listen":"test","script":{"id":"d554d76e-ddcc-4b33-9838-4441752ac52a","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"vhs_token\", jsonData.token);"],"type":"text/javascript"}}],"id":"edb05333-710a-4278-a72d-dcdf5a6db891","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.AuthenticateRequest-v2+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"body":{"mode":"raw","raw":"{\"serviceName\":\"ECC\",\"pin\":\"{{last_four_of_vin}}\""},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/users/{{userid}}/authenticate","description":"<p>Authenticate to the ECC service. This requires the client to pass a PIN which can be any arbitrary value, including an empty one. However, the mobile app passes the last four digits in the vehicle VIN. The ECC service authentication is required for climate preconditoning controls.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","users","{{userid}}","authenticate"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"edb05333-710a-4278-a72d-dcdf5a6db891"},{"name":"authenticate CP","event":[{"listen":"test","script":{"id":"136dd815-41bb-450e-9431-9376e40d4384","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"cp_token\", jsonData.token);"],"type":"text/javascript"}}],"id":"b573b14f-0989-4a95-af72-fec81b89f0be","request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.AuthenticateRequest-v2+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"body":{"mode":"raw","raw":"{\"serviceName\":\"CP\",\"pin\":\"{{last_four_of_vin}}\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/users/{{userid}}/authenticate","description":"<p>Authenticate to the CP service. This requires the client to pass a PIN which is the last four digits in the vehicle VIN. The CP service authentication is required for charging profile related operations.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","users","{{userid}}","authenticate"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b573b14f-0989-4a95-af72-fec81b89f0be"},{"name":"authenticate RDL","event":[{"listen":"test","script":{"id":"d554d76e-ddcc-4b33-9838-4441752ac52a","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"rdl_token\", jsonData.token);"],"type":"text/javascript"}}],"id":"a1323dcd-46a4-42ee-9d46-82a7525e5760","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.AuthenticateRequest-v2+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"body":{"mode":"raw","raw":"{\"serviceName\":\"RDL\",\"pin\":\"{{user_pin}}\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/users/{{userid}}/authenticate","description":"<p>Authenticate to the RDL service. This requires the client to pass the user's personal PIN. The RDL service is used for remotely locking the vehicle.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","users","{{userid}}","authenticate"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a1323dcd-46a4-42ee-9d46-82a7525e5760"},{"name":"authenticate RDU","event":[{"listen":"test","script":{"id":"d554d76e-ddcc-4b33-9838-4441752ac52a","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"rdu_token\", jsonData.token);"],"type":"text/javascript"}}],"id":"12ab455d-0e3b-44ad-b195-4ea2f2fd905b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.AuthenticateRequest-v2+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"body":{"mode":"raw","raw":"{\"serviceName\":\"RDU\",\"pin\":\"{{user_pin}}\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/users/{{userid}}/authenticate","description":"<p>Authenticate to the RDU service. This requires the client to pass the user's personal PIN. The RDU service is used for remotely unlocking the vehicle.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","users","{{userid}}","authenticate"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"12ab455d-0e3b-44ad-b195-4ea2f2fd905b"},{"name":"authenticate GM","event":[{"listen":"test","script":{"id":"d554d76e-ddcc-4b33-9838-4441752ac52a","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"gm_token\", jsonData.token);"],"type":"text/javascript"}}],"id":"fe183b7a-e802-42bb-9a8c-70e569e2930d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.AuthenticateRequest-v2+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"body":{"mode":"raw","raw":"{\"serviceName\":\"GM\",\"pin\":\"{{user_pin}}\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/users/{{userid}}/authenticate","description":"<p>Authenticate to the Guardian mode (GM) service. Requires the user PIN.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","users","{{userid}}","authenticate"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"fe183b7a-e802-42bb-9a8c-70e569e2930d"},{"name":"authenticate ALOFF","event":[{"listen":"test","script":{"id":"d554d76e-ddcc-4b33-9838-4441752ac52a","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"aloff_token\", jsonData.token);"],"type":"text/javascript"}}],"id":"e9f3fcaf-dc69-4350-bd17-5e2eaabda239","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.AuthenticateRequest-v2+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"body":{"mode":"raw","raw":"{\"serviceName\":\"ALOFF\",\"pin\":\"{{user_pin}}\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/users/{{userid}}/authenticate","description":"<p>Authenticate to the ALOFF service. This requires the client to pass the user's personal PIN. The ALOFF service is used for remotely resetting the vehicle alarm.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","users","{{userid}}","authenticate"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e9f3fcaf-dc69-4350-bd17-5e2eaabda239"},{"name":"authenticate PROV","event":[{"listen":"test","script":{"id":"43563f8b-ae09-4ef1-852e-80199714c6da","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"prov_token\", jsonData.token);"],"type":"text/javascript"}}],"id":"7dad63a3-8330-40d7-959a-a698317a228a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.AuthenticateRequest-v2+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"body":{"mode":"raw","raw":"{\"serviceName\":\"PROV\",\"pin\":\"{{user_pin}}\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/users/{{userid}}/authenticate","description":"<p>Authenticate to the PROV service. This requires the client to pass the user's personal PIN. This service is used for enabling and disabling service mode.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","users","{{userid}}","authenticate"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7dad63a3-8330-40d7-959a-a698317a228a"},{"name":"authenticate SWU","event":[{"listen":"test","script":{"id":"d554d76e-ddcc-4b33-9838-4441752ac52a","exec":["var jsonData = JSON.parse(responseBody);","postman.setEnvironmentVariable(\"swu_token\", jsonData.token);"],"type":"text/javascript"}}],"id":"b962ed3d-f296-4328-af00-034d67a52e5b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.AuthenticateRequest-v2+json; charset=utf-8"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"body":{"mode":"raw","raw":"{\"serviceName\":\"SWU\",\"pin\":\"\"}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/users/{{userid}}/authenticate","description":"<p>Authenticate to the SWU service. This requires the client to pass an empty PIN value. The SWU service is used for setting wake up timers.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","users","{{userid}}","authenticate"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b962ed3d-f296-4328-af00-034d67a52e5b"},{"name":"export vehicle trips","id":"3bcda7bb-6f87-448f-9185-1670e19bd9d5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.wirelesscar.ngtp.if9.TripIdList+json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"body":{"mode":"raw","raw":"{\"id\": [ \"{{trip_id}}\"]}"},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/trips/export","description":"<p>Export trips. A CSV file containing info about the specified trips will be automatically emailed to the email address associated with the vehicle owner account.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","trips","export"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3bcda7bb-6f87-448f-9185-1670e19bd9d5"},{"name":"delete vehicle trip","id":"909ab4d6-8b4d-49ae-825b-652a6888c40e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/trips/{{trip_id}}","description":"<p>Delete specified trip from the trip journal.</p>\n<p>A valid vehicle trip id should be passed along with this request URI.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","trips","{{trip_id}}"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"909ab4d6-8b4d-49ae-825b-652a6888c40e"}],"id":"373151fd-8daf-449a-bc25-c051e200f162","description":"<p>Vehicle operation commands. They seem to all require dedicated authentication tokens which are retrieved by submitting various strange PIN values. Very \"security by obscurity\"</p>\n","event":[{"listen":"prerequest","script":{"id":"512078f4-d2f9-462c-b8c9-d62ba4a6b5a6","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"846b350e-c1ae-42e3-b786-5a3f2572b01c","type":"text/javascript","exec":[""]}}],"_postman_id":"373151fd-8daf-449a-bc25-c051e200f162"},{"name":"misc","item":[{"name":"app version check","id":"4d85d81f-34e2-495b-b3ce-8170c878466b","request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\"type\":\"ANDROID\",\"version\":\"1.70\"}"},"url":"https://incontrol.jaguar.com/jaguar-portal-owner-web/app-version-check/compare","description":"<p>Some sort of validation of mobile app version. Returns an <code>state</code>value indicating whether app version is supported.</p>\n","urlObject":{"protocol":"https","path":["jaguar-portal-owner-web","app-version-check","compare"],"host":["incontrol","jaguar","com"],"query":[],"variable":[]}},"response":[{"id":"ece18f0d-58a0-4a24-a3ed-6b671abec992","name":"Android app version 1.70 check","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","disabled":false}],"body":{"mode":"raw","raw":"{\"type\":\"ANDROID\",\"version\":\"1.70\"}"},"url":"https://incontrol.jaguar.com/jaguar-portal-owner-web/app-version-check/compare"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Cache-Control","value":"no-cache","name":"Cache-Control","description":"Tells all caching mechanisms from server to client whether they may cache this object. It is measured in seconds"},{"key":"Cache-Control","value":"no-store","name":"Cache-Control","description":"Tells all caching mechanisms from server to client whether they may cache this object. It is measured in seconds"},{"key":"Connection","value":"close","name":"Connection","description":"Options that are desired for the connection"},{"key":"Content-Security-Policy","value":"default-src 'unsafe-inline' 'unsafe-eval' 'self' data: *.google.com *.googleapis.com *.gstatic.com *.google-analytics.com *.joinhoney.com *.jlrmotor.com *.googletagmanager.com *.cloudfront.net *.amap.com wss://*.amap.com *.landrover.com *.prod-row.jlrmotor.com *.wirelesscar.net *.jaguar.com; img-src 'self' data: *.google.com *.googleapis.com *.gstatic.com *.google-analytics.com *.joinhoney.com *.jlrmotor.com *.googletagmanager.com *.cloudfront.net *.amap.com wss://*.amap.com *.jlrmotor.com *.amazonaws.com *.wirelesscar.net *.d3370ejym0x8p5.cloudfront.net *.dyxeukcs8zsz7.cloudfront.net","name":"Content-Security-Policy","description":"Custom header"},{"key":"Content-Type","value":"application/json;charset=UTF-8","name":"Content-Type","description":"The mime type of this content"},{"key":"Date","value":"Wed, 09 Jan 2019 22:45:17 GMT","name":"Date","description":"The date and time that the message was sent"},{"key":"Expires","value":"Thu, 01 Jan 1970 00:00:00 GMT","name":"Expires","description":"Gives the date/time after which the response is considered stale"},{"key":"Pragma","value":"no-cache","name":"Pragma","description":"Implementation-specific headers that may have various effects anywhere along the request-response chain."},{"key":"Set-Cookie","value":"JSESSIONID=89C7C7A0E8A182BF64A9DA8DA8C2B779; Path=/jaguar-portal-owner-web/; HttpOnly","name":"Set-Cookie","description":"an HTTP cookie"},{"key":"Strict-Transport-Security","value":"max-age=31536000","name":"Strict-Transport-Security","description":"A HSTS Policy informing the HTTP client how long to cache the HTTPS only policy and whether this applies to subdomains."},{"key":"Transfer-Encoding","value":"chunked","name":"Transfer-Encoding","description":"The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."},{"key":"X-Content-Type-Options","value":"nosniff","name":"X-Content-Type-Options","description":"The only defined value, \"nosniff\", prevents Internet Explorer from MIME-sniffing a response away from the declared content-type"},{"key":"X-FRAME-OPTIONS","value":"DENY","name":"X-FRAME-OPTIONS","description":"Clickjacking protection: \"deny\" - no rendering within a frame, \"sameorigin\" - no rendering if origin mismatch"},{"key":"X-XSS-Protection","value":"1","name":"X-XSS-Protection","description":"Cross-site scripting (XSS) filter"}],"cookie":[{"expires":"Tue Jan 19 2038 03:14:07 GMT+0000 (Coordinated Universal Time)","httpOnly":true,"domain":"incontrol.jaguar.com","path":"/jaguar-portal-owner-web/","secure":false,"value":"89C7C7A0E8A182BF64A9DA8DA8C2B779","key":"JSESSIONID"}],"responseTime":null,"body":"{\"state\":\"OK\"}"}],"_postman_id":"4d85d81f-34e2-495b-b3ce-8170c878466b"},{"name":"reverse geocode","id":"569083f3-a08a-4065-95c3-b307cb3115e8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}","type":"text"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/geocode/reverse/{{lat}}/{{lon}}/en","description":"<p>Lookup a lat/long combination and get address information associated with the supplied coordinates.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","geocode","reverse","{{lat}}","{{lon}}","en"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[{"id":"d81149de-df0f-46ff-b2a7-0dae82c66fab","name":"Reverse geocode example","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}","type":"text"}],"url":"https://jlp-ifoa.wirelesscar.net/if9/jlr/geocode/reverse/59.915475/10.733054/en"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 20 Jan 2019 18:37:54 GMT"},{"key":"Server","value":"Apache-Coyote/1.1"},{"key":"X-Powered-By","value":"Servlet 2.5; JBoss-5.0/JBossWeb-2.1"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"403"},{"key":"Set-Cookie","value":"JSESSIONID=09CCA7EF2FF836688195914AD4739931; Path=/jlr-si"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"formattedAddress\": \"Frederiks gate 3, 0161 Oslo, Norway\",\n    \"street\": \"Frederiks gate\",\n    \"streetNumber\": \"3\",\n    \"postalcode\": \"0161\",\n    \"city\": null,\n    \"citycode\": null,\n    \"region\": \"Oslo\",\n    \"regionCode\": null,\n    \"country\": \"Norway\",\n    \"countryCodeISO2\": \"NO\",\n    \"province\": \"Oslo kommune\",\n    \"district\": null,\n    \"telephoneAreaCode\": null,\n    \"additionalInfo\": null,\n    \"provinceAdcode\": null,\n    \"cityAdcode\": null,\n    \"districtAdcode\": null,\n    \"adcode\": null,\n    \"any\": null\n}"}],"_postman_id":"569083f3-a08a-4065-95c3-b307cb3115e8"}],"id":"ea672cfb-12d3-459d-b1b3-ef865c918179","description":"<p>Various API requests that do not belong in other categories.</p>\n","_postman_id":"ea672cfb-12d3-459d-b1b3-ef865c918179"},{"name":"Guardian Mode","item":[{"name":"delete guardian mode alert","id":"e6738615-7cea-45b6-8c9b-f9ee8cd6f711","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept-Encoding","type":"text","value":"gzip,deflate"},{"key":"X-servicetoken","type":"text","value":"{{gm_token}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/gm/alerts","description":"<p>Delete the Guardian Mode alert.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","gm","alerts"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e6738615-7cea-45b6-8c9b-f9ee8cd6f711"},{"name":"delete guardian mode alarm","id":"5a3253fe-77b3-4f24-af9c-066bef74c4e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"DELETE","header":[{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept-Encoding","value":"gzip,deflate","type":"text"},{"key":"X-servicetoken","value":"{{gm_token}}","type":"text"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/gm/alarms/{{gm_id}}","description":"<p>Delete the specified Guardian Mode alarm period. Will effectively disable Guardian Mode if only one alarm period is enabled</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","gm","alarms","{{gm_id}}"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5a3253fe-77b3-4f24-af9c-066bef74c4e1"},{"name":"enable guardian mode","id":"6d1bac49-1d5d-455c-91ca-80e9e54e3df5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"X-Device-Id","value":"{{deviceId}}"},{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.GuardianAlarmList-v1+json"}],"body":{"mode":"raw","raw":"{\"token\":\"{{gm_token}}\",\"status\":\"ACTIVE\",\"endTime\":\"{{end_time}}\" }","options":{"raw":{"language":"json"}}},"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/gm/alarms","description":"<p>Guardian Mode is a security feature that will generate alarms when vehicle interaction is detected. Such interactions include:</p>\n<ul>\n<li>Vehicle Status – Unlocked</li>\n<li>Engine On</li>\n<li>Window(s) Open</li>\n<li>Door(s) Open</li>\n<li>Boot Open</li>\n<li>Bonnet Open</li>\n<li>Sunroof Open</li>\n<li>Roof Open</li>\n</ul>\n<p>The user pin is required in order to enable the feature.</p>\n<p>The end time should be specified as epoch millis.</p>\n<p>Guardian Mode will only generate a single alert and that alert does not indicate what sort of interaction took place, just the timestamp.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","gm","alarms"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"6d1bac49-1d5d-455c-91ca-80e9e54e3df5"},{"name":"get guardian mode alert","id":"ffe600bd-4845-4a88-9209-7e692fd95c9b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/wirelesscar.GuardianAlert-v1+json"},{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/gm/alerts  ","description":"<p>Returns the latest Guardian Mode alert for the specified vehicle.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","gm","alerts  "],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ffe600bd-4845-4a88-9209-7e692fd95c9b"},{"name":"get guardian mode alarms","id":"4bd2728b-dd9f-4bc1-84dd-b58654f148c2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.GuardianStatus-v1+json"},{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/gm/alarms  ","description":"<p>Returns a list of Guardian Mode alarm schedules. Will list all the scheduled Guardian mode time periods.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","gm","alarms  "],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4bd2728b-dd9f-4bc1-84dd-b58654f148c2"},{"name":"get guardian mode status","id":"1446dbc4-0466-4f71-9893-fe792b67267c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.GuardianStatus-v1+json"},{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/gm/status","description":"<p>Get the Guardian Mode status indicating whether Guardian Mode is active.</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","gm","status"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"1446dbc4-0466-4f71-9893-fe792b67267c"},{"name":"get guardian mode user settings","id":"17f41ee4-516f-461d-b876-14c4a5b7f955","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"Accept: application/vnd.wirelesscar.ngtp.if9.GuardianUserSettings-v1+json"},{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/gm/settings/user","description":"<p>Returns the Guardian Mode user settings</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","gm","settings","user"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"17f41ee4-516f-461d-b876-14c4a5b7f955"},{"name":"get guardian mode system settings","id":"a1b79550-7d77-4127-9d7c-4dc73a72b897","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[{"key":"Accept","value":"application/vnd.wirelesscar.ngtp.if9.GuardianSystemSettings-v1+json"},{"key":"Content-Type","value":"application/json"},{"key":"X-Device-Id","value":"{{deviceId}}"}],"url":"https://if9.prod-row.jlrmotor.com/if9/jlr/vehicles/{{vin}}/gm/settings/system","description":"<p>Returns the Guardian Mode system settings</p>\n","urlObject":{"protocol":"https","path":["if9","jlr","vehicles","{{vin}}","gm","settings","system"],"host":["if9","prod-row","jlrmotor","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a1b79550-7d77-4127-9d7c-4dc73a72b897"}],"id":"c18c47d3-606d-4e0c-97d0-75c5cb53ea46","description":"<p>Guardian Mode is a newly introduced feature that allows the user to enable a special mode where vehicle interactions will generate an alert that the mobile apps can choose to use for user notifications.</p>\n<p>The Guardian Mode seems to be implemented entirely on the server side without any vehicle communication. It presumably piggy backs off the already existing alerts system and simply generates a Guardian Mode alert when an applicable vehicle alert is reported.</p>\n<p>The generated alerts do not indicate what sort of interaction took place and simply includes the timestamp of the event. Only a single alert can exist at any given time.</p>\n","_postman_id":"c18c47d3-606d-4e0c-97d0-75c5cb53ea46"}],"event":[{"listen":"prerequest","script":{"id":"a7127bb3-0462-4377-bdad-f0c78105cdca","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"89c19ad9-6f63-423a-8d24-873e6fc29713","type":"text/javascript","exec":[""]}}]}