Authentication requirements for BMW/MINI vary by region.
Outside the EU: Web-based consent flows are currently unavailable. To authenticate vehicles in these regions, you must use the Smartcar Android, iOS or Flutter SDKs.
Inside the EU: Smartcar integrates via the BMW Energy API. For specific details on this integration, please refer to our BMW Energy API guide.
Smartcar API will throw a CONNECTED_SERVICES_ACCOUNT - SUBSCRIPTION when the data we receive from the vehicle is older than a month as this normally indicates a subscription issue.
BYD accounts can only maintain one active session at a time. Vehicle owners should sign in with a dedicated BYD login for Smartcar that is separate from the credentials used in the BYD mobile app. If the same account signs into the OEM app after connecting through Smartcar, the Smartcar session will be revoked and require re-authentication.If customers reach out about being logged out of their BYD mobile app, we recommend instructing users to create a secondary BYD account exclusively for your app.
After 3-4 days of no activity, GM vehicles will enter a deep sleep state at which point they will no longer respond to API requests to preserve their 12v battery. In order to get data from the vehicle again, the car will need to go through an ignition cycle.
In order to avoid hitting UPSTREAM - RATE_LIMIT errors use batch requests and ping no more than once every 30 minutes. Use of the OEM app also counts towards the rate limit.
GM EVs do not expose a true remote “start charging” button the way some other brands do. Charging is controlled by an in-car Charge Now / Charge Later setting (and any departure / “ready by” schedule the owner configures on the vehicle screen):
Charge Now — the vehicle is willing to charge as soon as it is plugged in (up to its target charge level).
Charge Later — the vehicle stays idle when plugged in and only starts charging in its scheduled window. An idle car in this mode is working as intended, not stuck; it will still charge later when the schedule says so.
That Charge Now / Charge Later preference is stored on the vehicle and persists across plug / unplug cycles. Unplugging ends the current charge session, but it does not clear the schedule or switch the car back to Charge Now.Scheduling and the Charge Now / Charge Later toggle can only be changed from the vehicle screen. Neither the OEM mobile app nor the Smartcar API can rewrite that schedule or flip the car into Charge Now remotely.
A remote start-charge command (and raising the charge limit) only works for on-demand charging when the vehicle is already on Charge Now. If it is on Charge Later:
A start-charge or charge-limit change will not make it start immediately.
Only selecting Charge Now on the car will override the schedule for the current session.
GM may still accept the remote command and return a success-looking response even though the vehicle stays paused on its schedule.
When Smartcar can tell that start charge was blocked by an active charge schedule, the API surfaces that as a CHARGE_FAULT rather than a generic upstream failure, so clients can treat it as a vehicle configuration conflict instead of retrying forever.
GM charge status and plug status sometimes hold a stale value, so a car that is actually charging can still report as not charging (or the reverse). State of charge stays much more reliable. To confirm whether a car is charging, watch SOC rise over a few minutes rather than trusting charge status alone.
Hyundai and Kia vehicles in the US cap connection validity at 30 days. Owners must reconnect through Connect at least once a month to keep data flowing. This is a Hyundai/Kia US requirement, not a Smartcar limitation. Until the owner re-authorizes, the connection stops returning data and can look like a broken connection. Plan for the periodic reconnect in your onboarding and re-auth handling.
Mazda allows only one active session per account. Signing into the official Mazda app invalidates any active Smartcar session using those same credentials.It is recommended that users create a separate, secondary Mazda account used exclusively for your app integration. This warning is surfaced to users in the Smartcar Connect flow.
In the EU, only EQ models support control charge at this time. For EQE and EQS models, if the state of charge is lower than 20%, stop commands are rejected by Mercedes. For all other EQ models, if the state of charge is below 50%, stopping the charging process is rejected by Mercedes and the car will continue to charge until it reaches at least 50% for vehicle reliability reasons. See here for more details.
MG allows only one active session per account. Signing into the official MG app invalidates any active Smartcar session using those same credentials.It is recommended that users create a separate, secondary MG account used exclusively for your app integration. This warning is surfaced to users in the Smartcar Connect flow.
Vehicle owners may receive a notification from the MyNISSAN app stating “Success! We found the location of your vehicle. Check the map for the location of your YYYY Model.” every time the location endpoint is hit.The app appears to have an option to edit notifications, but as of Feb 2024 they are not available in the app. Notifications may need to be turned off at the iOS/Android level by the vehicle owner.
If you request control_charge permissions for PSA EVs, upon login owners will be presented with a PIN and MFA screen in Connect upon submitting their credentials. They will need to have set this up on their OEMs application in order to grant your application this permission.
Legacy Model S and X vehicles (model year 2020 and earlier) don’t support Virtual Keys. On firmware 2025.20 and later they support third-party data streaming instead. The owner must turn on Allow Third-Party App Data Streaming in the vehicle’s Safety menu to maintain a reliable connection. When it’s disabled, Smartcar falls back to a reduced polling rate and data may be delayed. Smartcar shows owners how to enable it during Connect.
For enterprise customers, Tesla tenant setup must occur before any customer-facing Tesla vehicles are onboarded. Configure this during initial implementation, coordinated with Smartcar.
Changing Tesla tenant configurations after vehicles are already connected will require all affected users to re-authenticate. See OEM Migrations and Re-authentication for guidance on handling this scenario.
Volkswagen limits charge commands to safeguard battery longevity based on environmental and system conditions. Excessive consecutive requests may result in being temporarily rate limited. To restore functionality, the vehicle must be driven again.
CONNECTED_SERVICES_ACCOUNT errors on lock/unlock commands
In addition to verifying the VW account with the activation code, some cars will need to undergo the VW Ident Process before you can access remote lock/unlock functionality. This involves contacting the dealership to verify your ownership of the vehicle.
Upon purchasing (or activating the free trial), VW needs to review the request. You will get an email confirmation once they’ve cleared everything on their side.
In order to fully interact with Smartcar, the credentials need to be flagged as the primary driver. You’ll need to tap the “become primary driver” flow in the VW app. Depending on the model, this may require you to be in the car to interact with the infotainment system.A vehicle owner can verify whether or not they are the primary driver by following the steps below:
Open the VW mobile app tap the profile icon in the bottom right
Go to Vehicle Management
If there’s an Additional Users section, tap their name to see whether it says Primary User or Additional User
Volvo is an outlier regarding how unlock requests are processed. After initiating the request, after about 10 seconds you’ll need to open the trunk (boot) to successfully complete the request. You’ll know the car is ready to unlock the trunk as the hazard lights will flash. We recommend adding a notification for Volvos as part of the request loading animation to inform the user of this process.
Smartcar Connect currently checks for an email format, as such phone number usernames cannot be used. The owner will need to add their email to their Volvo account via the web portal.
Volvo enforces the following requirements for charge schedule requests:
Create or delete: The vehicle must be at the precise location of the schedule.
Create only: The vehicle must be actively charging.
Requests that don’t meet these conditions return a VEHICLE_STATE error with code OEM_BUSINESS_RULE_NOT_MET.
Last modified on September 2, 2026
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"smartcar","colors":{"primary":"#3E577D","light":"#3E577D","dark":"#3E577D"},"logo":{"light":"https://mintcdn.com/smartcar-docs/YqcNJdgEDgXpXtEG/logo/light.png?fit=max\u0026auto=format\u0026n=YqcNJdgEDgXpXtEG\u0026q=85\u0026s=c8947958467fe403a12f769afada9b53","dark":"https://mintcdn.com/smartcar-docs/YqcNJdgEDgXpXtEG/logo/dark.png?fit=max\u0026auto=format\u0026n=YqcNJdgEDgXpXtEG\u0026q=85\u0026s=af6b6bcabc2fe0bc4bbd976ee5b71a36","href":"https://smartcar.com/"},"favicon":"https://mintcdn.com/smartcar-docs/NtuX9OSBHLxFwWIa/favicon.png?fit=max\u0026auto=format\u0026n=NtuX9OSBHLxFwWIa\u0026q=85\u0026s=de01fc4e56d5368d441e322ac50e3f81","api":{"playground":{"display":"interactive","proxy":false},"examples":{"prefill":true}},"navbar":{"links":[{"href":"https://dashboard.smartcar.com/login/","label":"Log in"},{"href":"https://dashboard.smartcar.com/signup/","label":"Sign up"}],"primary":{"type":"button","label":"Request a Demo","href":"https://smartcar.com/pricing/"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/smartcar","github":"https://github.com/smartcar","facebook":"https://www.facebook.com/smartcar","instagram":"https://www.instagram.com/mysmartcar","x":"https://x.com/mysmartcar"},"links":[{"header":"Product","items":[{"label":"Vehicle signals","href":"https://smartcar.com/product/signals"},{"label":"Vehicle commands","href":"https://smartcar.com/product/commands"},{"label":"Compatible brands","href":"https://smartcar.com/product/compatible-vehicles"},{"label":"Connect","href":"https://smartcar.com/product/connect"},{"label":"Integrations","href":"https://smartcar.com/product/integrations"},{"label":"Global coverage","href":"https://smartcar.com/global"},{"label":"Teams","href":"https://smartcar.com/product/teams"},{"label":"Vehicle management","href":"https://smartcar.com/product/vehicle-management"},{"label":"Analytics","href":"https://smartcar.com/product/analytics"},{"label":"Pricing","href":"https://smartcar.com/pricing"},{"label":"Status","href":"https://status.smartcar.com/"},{"label":"Brand reliability","href":"https://brandreliability.smartcar.com/"},{"label":"Data security","href":"https://smartcar.com/data-security"}]},{"header":"Energy Solutions","items":[{"label":"DERMs","href":"https://smartcar.com/industries/derms-software"},{"label":"Virtual Power Plants (VPPs)","href":"https://smartcar.com/industries/virtual-power-plant"},{"label":"Utilities","href":"https://smartcar.com/utilities"},{"label":"Home energy management","href":"https://smartcar.com/industries/home-energy-management"},{"label":"EV charging networks","href":"https://smartcar.com/industries/ev-charging"},{"label":"Charge point operators","href":"https://smartcar.com/industries/charge-point-operator"},{"label":"E-mobility service providers","href":"https://smartcar.com/industries/e-mobility-service-providers"}]},{"header":"Solutions","items":[{"label":"Repair and maintenance","href":"https://smartcar.com/industries/repair-maintenance"},{"label":"Autocare software","href":"https://smartcar.com/industries/autocare-software"},{"label":"Auto dealership","href":"https://smartcar.com/industries/auto-dealership-software"},{"label":"Roadside assistance","href":"https://smartcar.com/industries/roadside-assistance"},{"label":"Vehicle history reports","href":"https://smartcar.com/industries/vehicle-history-reports"},{"label":"Small fleet management","href":"https://smartcar.com/industries/fleet-management"},{"label":"Car subscription service","href":"https://smartcar.com/industries/car-subscription-services"},{"label":"Car sharing","href":"https://smartcar.com/industries/car-sharing"},{"label":"Ride hailing","href":"https://smartcar.com/industries/ride-sharing"},{"label":"Car rentals","href":"https://smartcar.com/industries/car-rental"},{"label":"Auto insurance","href":"https://smartcar.com/industries/auto-insurance"},{"label":"Warranty software","href":"https://smartcar.com/industries/warranty-management-software"},{"label":"Road usage charge","href":"https://smartcar.com/industries/road-usage-charge"}]},{"header":"Resources","items":[{"label":"Customers","href":"https://smartcar.com/customers"},{"label":"Blog","href":"https://smartcar.com/blog"},{"label":"For vehicle owners","href":"https://smartcar.com/vehicle-owners"},{"label":"For automakers","href":"https://smartcar.com/automakers"},{"label":"Terms of service","href":"https://smartcar.com/legal/terms"},{"label":"Privacy policy","href":"https://smartcar.com/legal/privacy"},{"label":"End user privacy policy","href":"https://smartcar.com/legal/end-user-privacy"},{"label":"Acceptable use","href":"https://smartcar.com/legal/acceptable-use"},{"label":"Data processing","href":"https://smartcar.com/legal/dpa"},{"label":"Vulnerability disclosure program","href":"https://smartcar.com/vdp"},{"label":"mySmartcar","href":"https://my.smartcar.com"}]}]},"search":{"prompt":"✨ Ask Smartcar"},"integrations":{"koala":{"publicApiKey":"pk_3a64cc4d12d7b978edffae0afd143df5b291"},"ga4":{"measurementId":"G-QHNXS91VZC"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"smartcar-docs","hasAudioNarration":false,"actualSubdomain":"smartcar-docs","customDomains":["smartcar.com"],"gitSource":{"type":"github","owner":"smartcar","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adbe250d05dd52d1c87e7c2","collectionId":"4e81bf89-a564-4084-82d5-a2f1a4b41ad6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adbe250d05dd52d1c87e7c2"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adbe250d05dd52d1c87e7c2","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API \u0026 Integrations Reference","count":147},{"language":"default","tag":"API 2.0 Reference (Legacy)","count":64},{"language":"default","tag":"Vehicle Data","count":48},{"language":"default","tag":"Help Center","count":36},{"language":"default","tag":"Getting Started","count":28},{"language":"default","tag":"Make Specific","count":27},{"language":"default","tag":"Introduction","count":26},{"language":"default","tag":"Tesla","count":26},{"language":"default","tag":"Webhooks","count":25},{"language":"default","tag":"Errors","count":20}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".hsfc-Form .hsfc-FieldLabel span:is(.dark *),.hsfc-Form .hsfc-RichText p:is(.dark *),.hsfc-PostSubmit .hsfc-RichText p:is(.dark *){color:#a0a1a2}.dark\\:text-primary-light:is(.dark *){color:#378ff0}.hsfc-FormWrapper .hsfc-Step .hsfc-Step__Content{padding:0 10px 20px;background-color:rgb(113 113 122/10%);border-radius:10px}.hsfc-FormWrapper .hsfc-Step .hsfc-Step__Content .hsfc-Row{margin-bottom:4px}.hsfc-FormWrapper .hsfc-Step .hsfc-Step__Content .hsfc-NavigationRow{margin-top:4px}.osano-cm-powered-by__link.osano-cm-link,.osano-cm-window__widget{display:none}.osano-cm-close svg{stroke:#fff!important}.osano-cm-dialog{font-family:Inter,ui-sans-serif,system-ui,sans-serif;border-radius:12px;box-shadow:0 -4px 24px rgba(0,0,0,.08);padding:20px 24px;background-color:#fff;color:#374151;border-top:1px solid #e5e7eb}.osano-cm-dialog__title{font-size:.9rem;font-weight:600;color:#111827;margin-bottom:6px}.osano-cm-dialog__description,.osano-cm-message{font-size:.825rem;color:#6b7280;line-height:1.5}.osano-cm-storage-policy{font-size:.825rem;line-height:1.5}.osano-cm-message:is(.dark *){color:#fff}.osano-cm-info a,.osano-cm-storage-policy{color:#3e577d}.osano-cm-button{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.825rem;font-weight:500;border-radius:6px;padding:7px 14px;transition:opacity .15s ease}.osano-cm-button:hover{opacity:.85}.osano-cm-accept,.osano-cm-button--save,.osano-cm-save{background-color:#3e577d!important;color:#fff!important;border:0!important}.osano-cm-deny,.osano-cm-manage{background-color:transparent!important;color:#3e577d!important;border:1px solid #3e577d!important}.osano-cm-manage{border:0!important;padding-left:4px!important;padding-right:4px!important;text-decoration:underline;text-underline-offset:2px}.osano-cm-dialog:is(.dark *){background-color:#1f2937;color:#d1d5db;border-top-color:#374151;box-shadow:0 -4px 24px rgba(0,0,0,.3)}.osano-cm-dialog__title:is(.dark *){color:#f9fafb}.osano-cm-dialog__description:is(.dark *){color:#9ca3af}.osano-cm-info a:is(.dark *),.osano-cm-storage-policy:is(.dark *){color:#93b4d8}.osano-cm-deny:is(.dark *){color:#93b4d8!important;border-color:#93b4d8!important}.osano-cm-manage:is(.dark *){color:#93b4d8!important}.osano-cm-info{font-family:Inter,ui-sans-serif,system-ui,sans-serif;border-radius:0;box-shadow:0 -4px 24px rgba(0,0,0,.08);background-color:#fff;color:#374151;border-top:1px solid #e5e7eb;min-width:480px;overflow-y:visible}.osano-cm-header,.osano-cm-info-dialog-header{background-color:#fff!important}.osano-cm-info__title{font-size:.9rem;font-weight:600;color:#111827}.osano-cm-info__description,.osano-cm-info__list{font-size:.825rem;color:#6b7280;line-height:1.5}.osano-cm-toggle__switch{background-color:#e5e7eb!important;border-color:#3e577d!important}.osano-cm-toggle__input:checked+.osano-cm-toggle__switch{background-color:#3e577d!important;border-color:#3e577d!important}.osano-cm-toggle__input:checked+.osano-cm-toggle__switch::after{background-color:#e5e7eb!important}.osano-cm-info:is(.dark *){background-color:#1f2937;color:#d1d5db;border-top-color:#374151;box-shadow:0 -4px 24px rgba(0,0,0,.3)}.osano-cm-header:is(.dark *),.osano-cm-info-dialog-header:is(.dark *){background-color:#1f2937!important}.osano-cm-info__title:is(.dark *){color:#f9fafb}.osano-cm-info__description:is(.dark *),.osano-cm-info__list:is(.dark *){color:#9ca3af}.osano-cm-toggle__switch:is(.dark *){background-color:#374151!important}"}],"page":{"pagePath":"help/brand-quirks","slug":"/help/brand-quirks","pageMetadata":{"title":"Brand Quirks","description":"Brand specific quirks to keep in mind while building out your application.","timestamp":true,"href":"/help/brand-quirks"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Brand specific quirks to keep in mind while building out your application.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Frame,Heading,OptimizedImage,Warning}=_components;if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`acura`,children:`Acura`}),`\n`,_jsx(Heading,{level:`3`,id:`ignition-on`,children:`Ignition On`}),`\n`,_jsx(_components.p,{children:`Depending on model year, certain Acura vehicles do not return data when the ignition/engine is on.`}),`\n`,_jsx(Heading,{level:`3`,id:`sleep-state`,children:`Sleep State`}),`\n`,_jsx(_components.p,{children:`Most Acuras will go into a sleep state after about a week of inactivity,`}),`\n`,_jsx(Heading,{level:`2`,id:`audi`,children:`Audi`}),`\n`,_jsx(Heading,{level:`3`,id:`primary-key-user`,children:`Primary Key User`}),`\n`,_jsx(_components.p,{children:`In order to have access to all vehicle functionality the account that connects to Smartcar will need to be flagged as a Key User by Audi.`}),`\n`,_jsx(Heading,{level:`2`,id:`bmw/mini`,children:`BMW/MINI`}),`\n`,_jsx(Heading,{level:`3`,id:`authentication-requirements-for-bmw/mini-vary-by-region`,children:`Authentication requirements for BMW/MINI vary by region.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Outside the EU:`}),` Web-based consent flows are currently unavailable. To authenticate vehicles in these regions, you must use the Smartcar `,_jsx(_components.a,{href:`/connect/connect-sdks`,children:`Android, iOS or Flutter SDKs`}),`.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Inside the EU:`}),` Smartcar integrates via the BMW Energy API. For specific details on this integration, please refer to our `,_jsx(_components.a,{href:`/help/oem-integrations/bmw/energy-integration`,children:`BMW Energy API guide`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`connected_services_account-subscription-errors`,children:`CONNECTED_SERVICES_ACCOUNT - SUBSCRIPTION errors`}),`\n`,_jsx(_components.p,{children:`Smartcar API will throw a CONNECTED_SERVICES_ACCOUNT - SUBSCRIPTION when the data we receive from the vehicle is older than a month as this normally indicates a subscription issue.`}),`\n`,_jsx(Heading,{level:`2`,id:`byd`,children:`BYD`}),`\n`,_jsx(Heading,{level:`3`,id:`concurrent-login-requirement`,children:`Concurrent login requirement`}),`\n`,_jsx(_components.p,{children:`BYD accounts can only maintain one active session at a time. Vehicle owners should sign in with a dedicated BYD login for Smartcar that is separate from the credentials used in the BYD mobile app. If the same account signs into the OEM app after connecting through Smartcar, the Smartcar session will be revoked and require re-authentication.`}),`\n`,_jsx(_components.p,{children:`If customers reach out about being logged out of their BYD mobile app, we recommend instructing users to create a secondary BYD account exclusively for your app.`}),`\n`,_jsx(Heading,{level:`2`,id:`gm-buick-chevrolet-cadillac-gmc`,children:`GM (Buick, Chevrolet, Cadillac, GMC)`}),`\n`,_jsx(Heading,{level:`3`,id:`vehicle_state-asleep-errors`,children:`VEHICLE_STATE - ASLEEP errors`}),`\n`,_jsx(_components.p,{children:`After 3-4 days of no activity, GM vehicles will enter a deep sleep state at which point they will no longer respond to API requests to preserve their 12v battery. In order to get data from the vehicle again, the car will need to go through an ignition cycle.`}),`\n`,_jsx(Heading,{level:`3`,id:`upstream-rate_limit-errors`,children:`UPSTREAM - RATE_LIMIT errors`}),`\n`,_jsx(_components.p,{children:`In order to avoid hitting UPSTREAM - RATE_LIMIT errors use batch requests and ping no more than once every 30 minutes. Use of the OEM app also counts towards the rate limit.`}),`\n`,_jsx(Heading,{level:`3`,id:`charging-follows-an-in-car-schedule`,children:`Charging follows an in-car schedule`}),`\n`,_jsxs(_components.p,{children:[`GM EVs do not expose a true remote “start charging” button the way some other brands do. Charging is controlled by an in-car `,_jsx(_components.strong,{children:`Charge Now`}),` / `,_jsx(_components.strong,{children:`Charge Later`}),` setting (and any departure / “ready by” schedule the owner configures on the vehicle screen):`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Charge Now`}),` — the vehicle is willing to charge as soon as it is plugged in (up to its target charge level).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Charge Later`}),` — the vehicle stays idle when plugged in and only starts charging in its scheduled window. An idle car in this mode is working as intended, not stuck; it will still charge later when the schedule says so.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`That Charge Now / Charge Later preference is stored on the vehicle and persists across plug / unplug cycles. Unplugging ends the current charge session, but it does not clear the schedule or switch the car back to Charge Now.`}),`\n`,_jsx(_components.p,{children:`Scheduling and the Charge Now / Charge Later toggle can only be changed from the vehicle screen. Neither the OEM mobile app nor the Smartcar API can rewrite that schedule or flip the car into Charge Now remotely.`}),`\n`,_jsx(Heading,{level:`3`,id:`start-charge-cannot-override-a-charging-schedule`,children:`Start charge cannot override a charging schedule`}),`\n`,_jsxs(_components.p,{children:[`A remote start-charge command (and raising the charge limit) only works for on-demand charging when the vehicle is already on `,_jsx(_components.strong,{children:`Charge Now`}),`. If it is on `,_jsx(_components.strong,{children:`Charge Later`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`A start-charge or charge-limit change will not make it start immediately.`}),`\n`,_jsxs(_components.li,{children:[`Only selecting `,_jsx(_components.strong,{children:`Charge Now`}),` on the car will override the schedule for the current session.`]}),`\n`,_jsx(_components.li,{children:`GM may still accept the remote command and return a success-looking response even though the vehicle stays paused on its schedule.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`When Smartcar can tell that start charge was blocked by an active charge schedule, the API surfaces that as a `,_jsx(_components.a,{href:`/errors/api-errors/vehicle-state-errors#charge-fault`,children:`CHARGE_FAULT`}),` rather than a generic upstream failure, so clients can treat it as a vehicle configuration conflict instead of retrying forever.`]}),`\n`,_jsx(Heading,{level:`3`,id:`charge-and-plug-status-can-lag`,children:`Charge and plug status can lag`}),`\n`,_jsxs(_components.p,{children:[`GM `,_jsx(_components.a,{href:`/api-reference/signals/charge#ischarging`,children:`charge status`}),` and plug status sometimes hold a stale value, so a car that is actually charging can still report as not charging (or the reverse). `,_jsx(_components.a,{href:`/api-reference/signals/tractionbattery#stateofcharge`,children:`State of charge`}),` stays much more reliable. To confirm whether a car is charging, watch SOC rise over a few minutes rather than trusting charge status alone.`]}),`\n`,_jsx(Heading,{level:`2`,id:`hyundai/kia`,children:`Hyundai/Kia`}),`\n`,_jsx(Heading,{level:`3`,id:`telemetry-update-behavior`,children:`Telemetry Update Behavior`}),`\n`,_jsx(Heading,{level:`4`,id:`pre-2025-models-gen-2-navigation`,children:`Pre-2025 Models (Gen 2 Navigation)`}),`\n`,_jsx(_components.p,{children:`Hyundai/Kia vehicles have event-based logic that sends telemetry updates based on state changes such as:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Every 10% of SoC while charging`}),`\n`,_jsx(_components.li,{children:`5 minutes after ignition off`}),`\n`,_jsx(_components.li,{children:`Vehicle doors are left unlocked for 5 minutes`}),`\n`,_jsx(_components.li,{children:`After a command successfully completes`}),`\n`,_jsx(_components.li,{children:`Whenever charging stops`}),`\n`]}),`\n`,_jsx(Heading,{level:`4`,id:`2025+-models-gen-3-/-ccnc-navigation`,children:`2025+ Models (Gen 3 / CCnC Navigation)`}),`\n`,_jsx(_components.p,{children:`Newer Hyundai/Kia models update more frequently, as often as every five minutes, including while the vehicle is driving.`}),`\n`,_jsx(Heading,{level:`3`,id:`us-periodic-re-authentication-required`,children:`US: periodic re-authentication required`}),`\n`,_jsx(_components.p,{children:`Hyundai and Kia vehicles in the US cap connection validity at 30 days. Owners must reconnect through Connect at least once a month to keep data flowing. This is a Hyundai/Kia US requirement, not a Smartcar limitation. Until the owner re-authorizes, the connection stops returning data and can look like a broken connection. Plan for the periodic reconnect in your onboarding and re-auth handling.`}),`\n`,_jsx(Heading,{level:`2`,id:`mazda`,children:`Mazda`}),`\n`,_jsx(Heading,{level:`3`,id:`concurrent-login-requirement-2`,children:`Concurrent login requirement`}),`\n`,_jsx(_components.p,{children:`Mazda allows only one active session per account. Signing into the official Mazda app invalidates any active Smartcar session using those same credentials.`}),`\n`,_jsx(_components.p,{children:`It is recommended that users create a separate, secondary Mazda account used exclusively for your app integration. This warning is surfaced to users in the Smartcar Connect flow.`}),`\n`,_jsx(Heading,{level:`2`,id:`mercedes`,children:`Mercedes`}),`\n`,_jsx(Heading,{level:`3`,id:`control-charge-behaviour-in-the-eu`,children:`Control charge behaviour in the EU`}),`\n`,_jsxs(_components.p,{children:[`In the EU, only EQ models support control charge at this time. For EQE and EQS models, if the state of charge is lower than 20%, stop commands are rejected by Mercedes. For all other EQ models, if the state of charge is below 50%, stopping the charging process is rejected by Mercedes and the car will continue to charge until it reaches at least 50% for vehicle reliability reasons. `,_jsx(_components.a,{href:`/help/oem-integrations/mercedes/whats-new`,children:`See here for more details.`})]}),`\n`,_jsx(Heading,{level:`2`,id:`mg`,children:`MG`}),`\n`,_jsx(Heading,{level:`3`,id:`concurrent-login-requirement-3`,children:`Concurrent login requirement`}),`\n`,_jsx(_components.p,{children:`MG allows only one active session per account. Signing into the official MG app invalidates any active Smartcar session using those same credentials.`}),`\n`,_jsx(_components.p,{children:`It is recommended that users create a separate, secondary MG account used exclusively for your app integration. This warning is surfaced to users in the Smartcar Connect flow.`}),`\n`,_jsx(Heading,{level:`2`,id:`nissan`,children:`Nissan`}),`\n`,_jsx(Heading,{level:`3`,id:`“vehicle-has-been-found”-mynissan-notifications`,children:`“Vehicle has been found” MyNISSAN notifications`}),`\n`,_jsx(_components.p,{children:`Vehicle owners may receive a notification from the MyNISSAN app stating “Success! We found the location of your vehicle. Check the map for the location of your YYYY Model.” every time the location endpoint is hit.`}),`\n`,_jsx(_components.p,{children:`The app appears to have an option to edit notifications, but as of Feb 2024 they are not available in the app. Notifications may need to be turned off at the iOS/Android level by the vehicle owner.`}),`\n`,_jsx(Heading,{level:`2`,id:`psa-group-citroen-ds-opel-peugeot-vauxhall`,children:`PSA Group (Citroen, DS, Opel, Peugeot, Vauxhall)`}),`\n`,_jsx(Heading,{level:`3`,id:`requesting-control_charge-permissions`,children:`Requesting control_charge permissions`}),`\n`,_jsx(_components.p,{children:`If you request control_charge permissions for PSA EVs, upon login owners will be presented with a PIN and MFA screen in Connect upon submitting their credentials. They will need to have set this up on their OEMs application in order to grant your application this permission.`}),`\n`,_jsx(Heading,{level:`2`,id:`polestar`,children:`Polestar`}),`\n`,_jsx(Heading,{level:`3`,id:`stop-charge-command-limitations`,children:`Stop charge command limitations`}),`\n`,_jsx(_components.p,{children:`Smartcar cannot fulfill stop charge commands if the vehicle is below 40% state of charge due to limitations with the current Polestar APIs.`}),`\n`,_jsx(Heading,{level:`2`,id:`rivian`,children:`Rivian`}),`\n`,_jsx(Heading,{level:`3`,id:`mfa`,children:`MFA`}),`\n`,_jsx(_components.p,{children:`If MFA is enabled the vehicle owner will need to re-authorize via Connect about every 2 weeks.`}),`\n`,_jsx(Heading,{level:`2`,id:`tesla`,children:`Tesla`}),`\n`,_jsx(Heading,{level:`3`,id:`remote-access`,children:`Remote Access`}),`\n`,_jsx(_components.p,{children:`It may take a few hours or up to a full day for the REMOTE_ACCESS_DISABLED errors to subside after remote access is enabled.`}),`\n`,_jsx(Heading,{level:`3`,id:`charge-billing-records`,children:`Charge Billing Records`}),`\n`,_jsx(_components.p,{children:`In order to retrieve charge billing records, the main Tesla account must connect the vehicle, as driver profiles do not have access to this data.`}),`\n`,_jsx(Heading,{level:`3`,id:`virtual-key`,children:`Virtual Key`}),`\n`,_jsx(_components.p,{children:`Tesla now requires virtual keys for 3rd-party applications in order to issue commands for the following models:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`All Cybertrucks, Model 3 and Model Y`}),`\n`,_jsx(_components.li,{children:`2021+ Model S and X`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Please see `,_jsx(_components.a,{href:`/help/oem-integrations/tesla/virtual-key-tesla`,children:`Virtual Keys`}),` for more information.`]}),`\n`,_jsx(Heading,{level:`3`,id:`data-streaming-for-legacy-models-and-x`,children:`Data streaming for legacy Model S and X`}),`\n`,_jsxs(_components.p,{children:[`Legacy Model S and X vehicles (model year 2020 and earlier) don’t support Virtual Keys. On firmware 2025.20 and later they support third-party data streaming instead. The owner must turn on `,_jsx(_components.strong,{children:`Allow Third-Party App Data Streaming`}),` in the vehicle’s `,_jsx(_components.strong,{children:`Safety`}),` menu to maintain a reliable connection. When it’s disabled, Smartcar falls back to a reduced polling rate and data may be delayed. Smartcar shows owners how to enable it during Connect.`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/smartcar-docs/8a1NIGJss2BAM9HJ/images/changelog/tesla-legacy-streaming-toggle.png?fit=max\u0026auto=format\u0026n=8a1NIGJss2BAM9HJ\u0026q=85\u0026s=d2ff7fc87e953fc68810c20d1bd7f951`,alt:`Allow Third-Party App Data Streaming toggle in the vehicle's Safety menu`,\"data-og-width\":`1423`,width:`1423`,\"data-og-height\":`1105`,height:`1105`,\"data-path\":`images/changelog/tesla-legacy-streaming-toggle.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/smartcar-docs/8a1NIGJss2BAM9HJ/images/changelog/tesla-legacy-streaming-toggle.png?w=280\u0026fit=max\u0026auto=format\u0026n=8a1NIGJss2BAM9HJ\u0026q=85\u0026s=3a8e4fea21ee2b8591480e70839a221e 280w, https://mintcdn.com/smartcar-docs/8a1NIGJss2BAM9HJ/images/changelog/tesla-legacy-streaming-toggle.png?w=560\u0026fit=max\u0026auto=format\u0026n=8a1NIGJss2BAM9HJ\u0026q=85\u0026s=25fc1d79e128c73357443c03ce2c3a48 560w, https://mintcdn.com/smartcar-docs/8a1NIGJss2BAM9HJ/images/changelog/tesla-legacy-streaming-toggle.png?w=840\u0026fit=max\u0026auto=format\u0026n=8a1NIGJss2BAM9HJ\u0026q=85\u0026s=0ecc00f0679f18ba4cd7eedc1176f47b 840w, https://mintcdn.com/smartcar-docs/8a1NIGJss2BAM9HJ/images/changelog/tesla-legacy-streaming-toggle.png?w=1100\u0026fit=max\u0026auto=format\u0026n=8a1NIGJss2BAM9HJ\u0026q=85\u0026s=2601aa399caec11966be503c769a4517 1100w, https://mintcdn.com/smartcar-docs/8a1NIGJss2BAM9HJ/images/changelog/tesla-legacy-streaming-toggle.png?w=1650\u0026fit=max\u0026auto=format\u0026n=8a1NIGJss2BAM9HJ\u0026q=85\u0026s=f3c0c4968dbb8ad3335d76136d846330 1650w, https://mintcdn.com/smartcar-docs/8a1NIGJss2BAM9HJ/images/changelog/tesla-legacy-streaming-toggle.png?w=2500\u0026fit=max\u0026auto=format\u0026n=8a1NIGJss2BAM9HJ\u0026q=85\u0026s=a846c90ca4edeaa993a9e2158826faf9 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`enterprise-tenant-configuration`,children:`Enterprise Tenant Configuration`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`For enterprise customers, Tesla tenant setup must occur `,_jsx(_components.strong,{children:`before`}),` any customer-facing Tesla vehicles are onboarded. Configure this during initial implementation, coordinated with Smartcar.`]})}),`\n`,_jsxs(_components.p,{children:[`Changing Tesla tenant configurations after vehicles are already connected will require all affected users to re-authenticate. See `,_jsx(_components.a,{href:`/connect/re-auth/oem-migrations`,children:`OEM Migrations and Re-authentication`}),` for guidance on handling this scenario.`]}),`\n`,_jsx(Heading,{level:`2`,id:`volkswagen`,children:`Volkswagen`}),`\n`,_jsx(Heading,{level:`3`,id:`control-charge-limits`,children:`Control charge limits`}),`\n`,_jsx(_components.p,{children:`Volkswagen limits charge commands to safeguard battery longevity based on environmental and system conditions. Excessive consecutive requests may result in being temporarily rate limited. To restore functionality, the vehicle must be driven again.`}),`\n`,_jsx(Heading,{level:`3`,id:`connected_services_account-errors-on-lock/unlock-commands`,children:`CONNECTED_SERVICES_ACCOUNT errors on lock/unlock commands`}),`\n`,_jsx(_components.p,{children:`In addition to verifying the VW account with the activation code, some cars will need to undergo the VW Ident Process before you can access remote lock/unlock functionality. This involves contacting the dealership to verify your ownership of the vehicle.`}),`\n`,_jsx(Heading,{level:`3`,id:`missing-subscription-european-vws`,children:`Missing Subscription (European VWs)`}),`\n`,_jsx(_components.p,{children:`Upon purchasing (or activating the free trial), VW needs to review the request. You will get an email confirmation once they’ve cleared everything on their side.`}),`\n`,_jsx(Heading,{level:`3`,id:`primary-driver-status`,children:`Primary Driver Status`}),`\n`,_jsx(_components.p,{children:`In order to fully interact with Smartcar, the credentials need to be flagged as the primary driver. You’ll need to tap the “become primary driver” flow in the VW app. Depending on the model, this may require you to be in the car to interact with the infotainment system.`}),`\n`,_jsx(_components.p,{children:`A vehicle owner can verify whether or not they are the primary driver by following the steps below:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Open the VW mobile app tap the profile icon in the bottom right`}),`\n`,_jsxs(_components.li,{children:[`Go to `,_jsx(_components.strong,{children:`Vehicle Management`})]}),`\n`,_jsxs(_components.li,{children:[`If there’s an `,_jsx(_components.strong,{children:`Additional Users`}),` section, tap their name to see whether it says `,_jsx(_components.strong,{children:`Primary User`}),` or `,_jsx(_components.strong,{children:`Additional User`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`volvo`,children:`Volvo`}),`\n`,_jsx(Heading,{level:`3`,id:`lock/unlock-commands`,children:`Lock/unlock commands`}),`\n`,_jsx(_components.p,{children:`Volvo is an outlier regarding how unlock requests are processed. After initiating the request, after about 10 seconds you’ll need to open the trunk (boot) to successfully complete the request. You’ll know the car is ready to unlock the trunk as the hazard lights will flash. We recommend adding a notification for Volvos as part of the request loading animation to inform the user of this process.`}),`\n`,_jsx(Heading,{level:`3`,id:`phone-number-username`,children:`Phone number username`}),`\n`,_jsx(_components.p,{children:`Smartcar Connect currently checks for an email format, as such phone number usernames cannot be used. The owner will need to add their email to their Volvo account via the web portal.`}),`\n`,_jsx(Heading,{level:`3`,id:`charge-schedules`,children:`Charge Schedules`}),`\n`,_jsxs(_components.p,{children:[`Volvo enforces the following requirements for `,_jsx(_components.a,{href:`/api-reference/commands/overview#available-commands`,children:`charge schedule`}),` requests:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Create or delete:`}),` The vehicle must be at the `,_jsx(_components.a,{href:`/api-reference/signals/location`,children:`precise location`}),` of the schedule.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Create only:`}),` The vehicle must be actively `,_jsx(_components.a,{href:`/api-reference/signals/charge#ischarging`,children:`charging`}),`.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Requests that don’t meet these conditions return a `,_jsx(_components.a,{href:`/errors/api-errors/v3/vehicle-state-errors#oem-business-rule-not-met`,children:_jsx(_components.code,{children:`VEHICLE_STATE`})}),` error with code `,_jsx(_components.code,{children:`OEM_BUSINESS_RULE_NOT_MET`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Brand Quirks","description":"Brand specific quirks to keep in mind while building out your application.","timestamp":true,"href":"/help/brand-quirks"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Acura","slug":"acura","depth":2,"children":[{"title":"Ignition On","slug":"ignition-on","depth":3,"children":[]},{"title":"Sleep State","slug":"sleep-state","depth":3,"children":[]}]},{"title":"Audi","slug":"audi","depth":2,"children":[{"title":"Primary Key User","slug":"primary-key-user","depth":3,"children":[]}]},{"title":"BMW/MINI","slug":"bmw/mini","depth":2,"children":[{"title":"Authentication requirements for BMW/MINI vary by region.","slug":"authentication-requirements-for-bmw/mini-vary-by-region","depth":3,"children":[]},{"title":"CONNECTED_SERVICES_ACCOUNT - SUBSCRIPTION errors","slug":"connected_services_account-subscription-errors","depth":3,"children":[]}]},{"title":"BYD","slug":"byd","depth":2,"children":[{"title":"Concurrent login requirement","slug":"concurrent-login-requirement","depth":3,"children":[]}]},{"title":"GM (Buick, Chevrolet, Cadillac, GMC)","slug":"gm-buick-chevrolet-cadillac-gmc","depth":2,"children":[{"title":"VEHICLE_STATE - ASLEEP errors","slug":"vehicle_state-asleep-errors","depth":3,"children":[]},{"title":"UPSTREAM - RATE_LIMIT errors","slug":"upstream-rate_limit-errors","depth":3,"children":[]},{"title":"Charging follows an in-car schedule","slug":"charging-follows-an-in-car-schedule","depth":3,"children":[]},{"title":"Start charge cannot override a charging schedule","slug":"start-charge-cannot-override-a-charging-schedule","depth":3,"children":[]},{"title":"Charge and plug status can lag","slug":"charge-and-plug-status-can-lag","depth":3,"children":[]}]},{"title":"Hyundai/Kia","slug":"hyundai/kia","depth":2,"children":[{"title":"Telemetry Update Behavior","slug":"telemetry-update-behavior","depth":3,"children":[]},{"title":"Pre-2025 Models (Gen 2 Navigation)","slug":"pre-2025-models-gen-2-navigation","depth":4,"children":[]},{"title":"2025+ Models (Gen 3 / CCnC Navigation)","slug":"2025+-models-gen-3-/-ccnc-navigation","depth":4,"children":[]},{"title":"US: periodic re-authentication required","slug":"us-periodic-re-authentication-required","depth":3,"children":[]}]},{"title":"Mazda","slug":"mazda","depth":2,"children":[{"title":"Concurrent login requirement","slug":"concurrent-login-requirement-2","depth":3,"children":[]}]},{"title":"Mercedes","slug":"mercedes","depth":2,"children":[{"title":"Control charge behaviour in the EU","slug":"control-charge-behaviour-in-the-eu","depth":3,"children":[]}]},{"title":"MG","slug":"mg","depth":2,"children":[{"title":"Concurrent login requirement","slug":"concurrent-login-requirement-3","depth":3,"children":[]}]},{"title":"Nissan","slug":"nissan","depth":2,"children":[{"title":"“Vehicle has been found” MyNISSAN notifications","slug":"“vehicle-has-been-found”-mynissan-notifications","depth":3,"children":[]}]},{"title":"PSA Group (Citroen, DS, Opel, Peugeot, Vauxhall)","slug":"psa-group-citroen-ds-opel-peugeot-vauxhall","depth":2,"children":[{"title":"Requesting control_charge permissions","slug":"requesting-control_charge-permissions","depth":3,"children":[]}]},{"title":"Polestar","slug":"polestar","depth":2,"children":[{"title":"Stop charge command limitations","slug":"stop-charge-command-limitations","depth":3,"children":[]}]},{"title":"Rivian","slug":"rivian","depth":2,"children":[{"title":"MFA","slug":"mfa","depth":3,"children":[]}]},{"title":"Tesla","slug":"tesla","depth":2,"children":[{"title":"Remote Access","slug":"remote-access","depth":3,"children":[]},{"title":"Charge Billing Records","slug":"charge-billing-records","depth":3,"children":[]},{"title":"Virtual Key","slug":"virtual-key","depth":3,"children":[]},{"title":"Data streaming for legacy Model S and X","slug":"data-streaming-for-legacy-models-and-x","depth":3,"children":[]},{"title":"Enterprise Tenant Configuration","slug":"enterprise-tenant-configuration","depth":3,"children":[]}]},{"title":"Volkswagen","slug":"volkswagen","depth":2,"children":[{"title":"Control charge limits","slug":"control-charge-limits","depth":3,"children":[]},{"title":"CONNECTED_SERVICES_ACCOUNT errors on lock/unlock commands","slug":"connected_services_account-errors-on-lock/unlock-commands","depth":3,"children":[]},{"title":"Missing Subscription (European VWs)","slug":"missing-subscription-european-vws","depth":3,"children":[]},{"title":"Primary Driver Status","slug":"primary-driver-status","depth":3,"children":[]}]},{"title":"Volvo","slug":"volvo","depth":2,"children":[{"title":"Lock/unlock commands","slug":"lock/unlock-commands","depth":3,"children":[]},{"title":"Phone number username","slug":"phone-number-username","depth":3,"children":[]},{"title":"Charge Schedules","slug":"charge-schedules","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/smartcar-docs/079ff91450d16dd6/osano.js"],"subdomain":"smartcar-docs","siteName":"smartcar","title":"Brand Quirks - smartcar","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-02T17:03:37.328Z","originalFileLocation":"help/brand-quirks.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Brand specific quirks to keep in mind while building out your application.\">\u003cmeta data-mint-head name=\"application-name\" content=\"smartcar\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/smartcar-docs/mm2dBjYiMlWQ-TlV/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/smartcar-docs/mm2dBjYiMlWQ-TlV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/smartcar-docs/mm2dBjYiMlWQ-TlV/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/smartcar-docs/mm2dBjYiMlWQ-TlV/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/smartcar-docs/mm2dBjYiMlWQ-TlV/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/smartcar-docs/mm2dBjYiMlWQ-TlV/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/smartcar-docs/mm2dBjYiMlWQ-TlV/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/smartcar-docs/mm2dBjYiMlWQ-TlV/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/smartcar-docs/mm2dBjYiMlWQ-TlV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Brand Quirks - smartcar\">\u003cmeta data-mint-head property=\"og:description\" content=\"Brand specific quirks to keep in mind while building out your application.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"smartcar\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://smartcar.com/docs/help/brand-quirks\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://smartcar-docs.mintlify.app/_mintlify/api/og/v2?division=OEM+Resources\u0026amp;title=Brand+Quirks\u0026amp;description=Brand+specific+quirks+to+keep+in+mind+while+building+out+your+application.\u0026amp;theme=254a1f83924c8d0c1b4b5b15\u0026amp;signature=c79416bb1d858932e83a76d71e5354bdb8de57bcb99b557b80a3c6e4d202d677\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Brand Quirks - smartcar\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Brand specific quirks to keep in mind while building out your application.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://smartcar-docs.mintlify.app/_mintlify/api/og/v2?division=OEM+Resources\u0026amp;title=Brand+Quirks\u0026amp;description=Brand+specific+quirks+to+keep+in+mind+while+building+out+your+application.\u0026amp;theme=254a1f83924c8d0c1b4b5b15\u0026amp;signature=c79416bb1d858932e83a76d71e5354bdb8de57bcb99b557b80a3c6e4d202d677\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/smartcar-docs/mm2dBjYiMlWQ-TlV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"smartcar\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3E577D\">\u003clink data-mint-head rel=\"canonical\" href=\"https://smartcar.com/docs/help/brand-quirks\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/help/brand-quirks.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://smartcar.com/#organization\",\"name\":\"smartcar\",\"url\":\"https://smartcar.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/smartcar-docs/YqcNJdgEDgXpXtEG/logo/light.png?fit=max\u0026auto=format\u0026n=YqcNJdgEDgXpXtEG\u0026q=85\u0026s=c8947958467fe403a12f769afada9b53\"}},{\"@type\":\"WebSite\",\"@id\":\"https://smartcar.com/docs#website\",\"name\":\"smartcar\",\"url\":\"https://smartcar.com/docs\",\"publisher\":{\"@id\":\"https://smartcar.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://smartcar.com/docs/help/brand-quirks#webpage\",\"url\":\"https://smartcar.com/docs/help/brand-quirks\",\"name\":\"Brand Quirks\",\"description\":\"Brand specific quirks to keep in mind while building out your application.\",\"dateModified\":\"2026-09-02T17:03:37.328Z\",\"isPartOf\":{\"@id\":\"https://smartcar.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://smartcar.com/docs/help/brand-quirks#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://smartcar.com/docs/help/brand-quirks#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"OEM Resources\",\"item\":\"https://smartcar.com/docs/help/brand-subscriptions\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Brand Quirks\",\"item\":\"https://smartcar.com/docs/help/brand-quirks\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://smartcar.com/docs/help/brand-quirks#article\",\"headline\":\"Brand Quirks\",\"name\":\"Brand Quirks\",\"description\":\"Brand specific quirks to keep in mind while building out your application.\",\"url\":\"https://smartcar.com/docs/help/brand-quirks\",\"mainEntityOfPage\":{\"@id\":\"https://smartcar.com/docs/help/brand-quirks#webpage\"},\"dateModified\":\"2026-09-02T17:03:37.328Z\",\"publisher\":{\"@id\":\"https://smartcar.com/#organization\"},\"isPartOf\":{\"@id\":\"https://smartcar.com/docs#website\"}}]}\u003c/script>","siteName":"smartcar","nav":{"global":null,"tabs":[{"tab":"Getting Started","pages":[{"title":"Getting Started","href":"/getting-started/introduction"}]},{"tab":"Connecting Vehicles","pages":[{"title":"Connecting Vehicles","href":"/connect/what-is-connect"}]},{"tab":"API \u0026 Integrations Reference","pages":[{"title":"API \u0026 Integrations Reference","href":"/api-reference/intro"}]},{"tab":"Vehicle Signals","pages":[{"title":"Vehicle Signals","href":"/api-reference/signals/schema"}]},{"tab":"Help Center","groups":[{"group":"Help Center","pages":[{"title":"What is Smartcar?","sidebarTitle":"What is Smartcar","href":"/help/what-is-smartcar"},{"title":"What is a Connected Car?","sidebarTitle":"What is a connected car","href":"/help/what-is-a-connected-car"},{"title":"Frequently Asked Questions (FAQs)","sidebarTitle":"Frequently Asked Questions","href":"/help/faqs"},{"title":"Smartcar Usage Limits","href":"/help/api-limits"},{"title":"Diagnostic Systems","href":"/help/diagnostic-systems"},{"title":"Beta","href":"/help/beta"},{"title":"Vehicle Simulator","sidebarTitle":"Vehicle Simulator","href":"/help/vehicle-simulator"}]},{"group":"Support Tools","pages":[{"title":"Accessing the Smartcar Support Center","href":"/help/accessing-support-center"},{"title":"How to Submit a Ticket in the Support Center","href":"/help/how-to-submit-ticket"},{"title":"Assist AI features in Slack","href":"/help/assist-ai-slack"},{"title":"Subscribing to Smartcar Updates and Notifications","href":"/help/smartcar-updates"}]},{"group":"OEM Resources","pages":[{"title":"Brand Subscription Information","sidebarTitle":"Subscription Information","href":"/help/brand-subscriptions"},{"title":"Reliability","href":"/help/reliability-and-freshness"},{"title":"Data Freshness Frequencies","description":"Smartcar's goal is to provide as close to real-time data as possible based on available technologies and capabilities from OEMs. Although real-time is not yet available across all OEMs outside of commercial fleets, Smartcar continues to improve these frequencies as platforms and technologies evolve.","href":"/help/frequencies"},{"title":"Brand Quirks","href":"/help/brand-quirks"},{"title":"Compatible Vehicles","url":"https://smartcar.com/product/compatible-vehicles/","description":null,"href":"/help/compatibility"},{"group":"BMW","pages":[{"title":"BMW Energy APIs for European Markets","sidebarTitle":"Energy APIs (Europe)","href":"/help/oem-integrations/bmw/energy-integration"}]},{"group":"Mercedes-Benz","pages":[{"title":"Important Updates","sidebarTitle":"Important Updates","tag":"NEW","href":"/help/oem-integrations/mercedes/whats-new"}]},{"group":"Tesla","pages":[{"title":"Important Updates","sidebarTitle":"Important Updates","href":"/help/oem-integrations/tesla/whats-new"},{"title":"Tesla Permission Info","sidebarTitle":"Tesla Permissions","href":"/help/oem-integrations/tesla/developers"},{"title":"Virtual Keys","sidebarTitle":"Virtual Keys","href":"/help/oem-integrations/tesla/virtual-key-tesla"},{"title":"Tesla Business Fleet enrollment","sidebarTitle":"Business Fleet","href":"/help/oem-integrations/tesla/business-fleet-onboarding"},{"title":"Tesla FAQs","sidebarTitle":"FAQs","href":"/help/oem-integrations/tesla/faqs"}]},{"group":"Volvo","pages":[{"title":"Important Updates","sidebarTitle":"Important Updates","tag":"NEW","href":"/help/oem-integrations/volvo/whats-new"}]},{"group":"Volkswagen","pages":[{"title":"Important Updates","sidebarTitle":"Important Updates","tag":"NEW","href":"/help/oem-integrations/vw/whats-new"}]}]},{"group":"For Vehicle Owners","pages":[{"title":"Join the Research Fleet","href":"/help/research-fleet"},{"title":"Connect your car","url":"https://connectyourcar.com/","href":"/help/connect-your-car"},{"title":"mySmartcar","href":"/help/my-smartcar"}]},{"group":"New Features","pages":[{"title":"Submit a Feature Request","href":"/help/feature-request"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/latest"}]}]},"basePath":"","title":"Brand Quirks - smartcar","buildId":"dpl_6cCEiK8XNNvaLBBkWzcBhdE9QfLC","deploymentId":"dpl_6cCEiK8XNNvaLBBkWzcBhdE9QfLC","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-Bj1PpgeO.js","DynamicMarkdown-Bas9A7wq.js","zoom-image-lightbox-B-WKhCOL.js","lightbox-handle-r17bVUz3.js"]}