{"id":27193484,"url":"https://github.com/amattu2/bmw-api-wrapper","last_synced_at":"2025-07-18T04:36:29.629Z","repository":{"id":121255750,"uuid":"356998029","full_name":"amattu2/bmw-api-wrapper","owner":"amattu2","description":"A BMW ConnectedDrive and My Garage internal API client and Postman collection. ","archived":false,"fork":false,"pushed_at":"2023-02-28T14:05:40.000Z","size":81,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T19:03:40.439Z","etag":null,"topics":["api","bmw","bmw-connecteddrive","postman"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amattu2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-11T22:55:51.000Z","updated_at":"2025-03-18T20:43:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"b4846c2c-f15a-47bc-95f7-32782d27421c","html_url":"https://github.com/amattu2/bmw-api-wrapper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":"amattu2/project-template","purl":"pkg:github/amattu2/bmw-api-wrapper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amattu2%2Fbmw-api-wrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amattu2%2Fbmw-api-wrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amattu2%2Fbmw-api-wrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amattu2%2Fbmw-api-wrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amattu2","download_url":"https://codeload.github.com/amattu2/bmw-api-wrapper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amattu2%2Fbmw-api-wrapper/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265701161,"owners_count":23813751,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","bmw","bmw-connecteddrive","postman"],"created_at":"2025-04-09T18:56:05.966Z","updated_at":"2025-07-18T04:36:29.620Z","avatar_url":"https://github.com/amattu2.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Introduction\n\nThis is a internal API exploratory project aimed at uncovering APIs exposed by BMW, Mini Cooper, \u0026 related brands.\nAs with any project of this type, it's a continuous work-in-progress.\n\nIf you have discovered an issue with the HTTP collection, or found an endpoint not listed or documented here, please open a PR or new Issue.\n\nThis project is focused on supporting the North American APIs, but will ideally work with european and asian APIs as well. Generally speaking, it's just a minor URL change for other markets.\n\n*Read on to understand more about this project.*\n\n## What is ConnectedDrive?\n\nAlmost every modern BMW, Mini, Rolls Royce, or Toyota Supra (2020+) is equipped with a product called ConnectedDrive or Connect. This featureset allows native connectivity to your vehicle through your smartphone or via other channels (websites, services, etc). In some cases, generally with newer models, ConnectedDrive allows for insights into your current vehicles status (charging/gas, mileage, location), as well as remote control (unlock/horn/remotestart).\n\nConnectedDrive has a plethora of hidden web-APIs that is used to receive information or dispatch commands to your vehicle remotely. The goal of this project is to explore all of those endpoints, document how to use them, and to provide a interface for doing so (i.e. Postman or Thunder Test).\n\nDue to the fact that I can't possibly test against every single BMW on the road, it should be understood that the documentation may not be 100% accurate, but feel free to contribute any knowledge or corrections you have.\n\n[Read more](https://www.bmwusa.com/explore/connecteddrive.html)\n\n## What is My Garage\n\nMy Garage is a facet available across BMW brands to access information about your vehicle through a web interface. Similar to the BMW ConnectedDrive situation, each brand has it's own interface, but it's generally supported by the same backend. The My Garage service is included in this repo because it offers additional endpoints and datasets not available solely through the ConnectedDrive channels. The authentication mechanisms are identical between ConnectedDrive and My Garage.\n\n[Mini Cooper My Garage](https://mygarage.miniusa.com/)\n\n[BMW My Garage](https://mygarage.bmwusa.com/)\n\n# Getting Started\n\n## ThunderClient / Postman\n\nThere are several HTTP collections. A brief description of each is below.\n\n- **VCS / My Garage** – The primary collection with API endpoints that relate to Vehicle Communication Service (VCS) and My Garage. They use the same authentication mechanisms.\n- **Inventory** – A separate collection that holds requests relating to the used vehicle inventory searches.\n\n### Setup\n\nTo use the Thunder Client (Visual Studio Code extension) or Postman HTTP collection, see the [.vscode](/.vscode) folder.\n\nYou can import the collection via the Thunder Client GUI.\n\nRename [`.env.example`](./.vscode/.env.example) to [`.env`](./.vscode/.env) and update the following placeholders to your values\n\n- email\n- password\n- vin\n\nDo not update `ocp-apim-subscription-key`. If you're using Thunder Client, link the `.env` to your Thunder Client environment.\n\nYou may also need to link the [utils.js](./.vscode/utils.js) helper functions to the Thunder Client collection. To do so,\n\n1. Import the collection\n2. Right click the \"Collection\" folder and press settings\n3. Click the \"Scripts\" tab and import the `utils.js` file\n\n### Usage\n\nTo perform the authentication process, run the Authentication folder requests in order\n\n1. OAuth Config\n2. Authenticate (1/2)\n3. Authenticate (2/2)\n4. Token\n\nTo perform a relogin with a refresh token (after you have already completed the above), run the following requests in order\n\n1. OAuth Config *Optional*\n2. Refresh\n\nThese requests will create or update the environment variables that are used by the rest of the collection.\n\n## CLI Client\n\n*To be completed*.\n\n# Resources\n\nThe resources below were used as a reference during creation of this project. Big thanks to them.\n\n- \u003chttps://github.com/bimmerconnected/bimmer_connected\u003e\n\n# Disclosure\n\nThis project is not affiliated with BMW, Mini Cooper, or any other related brand. It's likely that usage of this project is against a TOS somewhere. Use at your own risk and see the [LICENSE](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famattu2%2Fbmw-api-wrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famattu2%2Fbmw-api-wrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famattu2%2Fbmw-api-wrapper/lists"}