Hi @joeH68 ,
happy to support you on using Postman for the Viessmann API! You can use this collection, which you can import to your Postman. It contains all basic API requests using and testing the Viessmann API. Unfortunately, I cannot upload a JSON file here, this is why you need to copy the code below and paste it. to a text file, which you save with the ending .json. This file can be imported to your Postman by clicking on "Import".
Let. meknow if this helps.
Best regards,
Michael
{ "info": { "_postman_id": "b288f3fa-9548-4a95-8a65-feec846291d3", "name": "VIessmann API example collection", "description": "This is a Postman collection for the Viessmann API. It contains the following sections:\n\n* Authentication\n* User Management\n* IoT \n \n\nFor the general steps to use the API, please got to [https://documentation.viessmann.com/static/getting-started](https://documentation.viessmann.com/static/getting-started)", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "item": [ { "name": "Authentication", "item": [ { "name": "Authorization request", "request": { "method": "GET", "header": [ { "key": "Content-Type", "name": "Content-Type", "value": "application/x-www-form-urlencoded", "type": "text" } ], "url": { "raw": "https://iam.viessmann.com/idp/v2/authorize?client_id={{client_id}}&redirect_uri={{redirect_uri}}&response_type=code&code_challenge={{code_challenge}}&scope=IoT User offline_access", "protocol": "https", "host": [ "iam", "viessmann", "com" ], "path": [ "idp", "v2", "authorize" ], "query": [ { "key": "client_id", "value": "{{client_id}}" }, { "key": "redirect_uri", "value": "{{redirect_uri}}" }, { "key": "response_type", "value": "code" }, { "key": "code_challenge", "value": "{{code_challenge}}" }, { "key": "scope", "value": "IoT User offline_access" } ] }, "description": "The /authorize endpoint of our IAM platform is used to request an authorization code." }, "response": [] }, { "name": "Authorization code exchange", "request": { "method": "POST", "header": [ { "key": "Content-Type", "name": "Content-Type", "value": "application/x-www-form-urlencoded", "type": "text" } ], "body": { "mode": "urlencoded", "urlencoded": [] }, "url": { "raw": "https://iam.viessmann.com/idp/v2/token?grant_type=authorization_code&client_id={{client_id}}&redirect_uri={{redirect_uri}}&code_verifier={{code_verifier}}&code={{code}}", "protocol": "https", "host": [ "iam", "viessmann", "com" ], "path": [ "idp", "v2", "token" ], "query": [ { "key": "grant_type", "value": "authorization_code" }, { "key": "client_id", "value": "{{client_id}}" }, { "key": "redirect_uri", "value": "{{redirect_uri}}" }, { "key": "code_verifier", "value": "{{code_verifier}}" }, { "key": "code", "value": "{{code}}" } ] }, "description": "With the authorization code you can request an access token." }, "response": [] }, { "name": "Authorization code exchange - Refresh Token", "request": { "method": "POST", "header": [ { "key": "Content-Type", "name": "Content-Type", "value": "application/x-www-form-urlencoded", "type": "text" } ], "body": { "mode": "urlencoded", "urlencoded": [] }, "url": { "raw": "https://iam.viessmann.com/idp/v2/token?client_id={{client_id}}&grant_type=refresh_token&refresh_token={{refresh_token}}", "protocol": "https", "host": [ "iam", "viessmann", "com" ], "path": [ "idp", "v2", "token" ], "query": [ { "key": "client_id", "value": "{{client_id}}" }, { "key": "grant_type", "value": "refresh_token" }, { "key": "refresh_token", "value": "{{refresh_token}}" } ] }, "description": "With the authorization code you can request an access token." }, "response": [] } ], "description": "Visit the API documentatin for more information: [https://documentation.viessmann.com/static/authentication](https://documentation.viessmann.com/static/authentication)" }, { "name": "User Management", "item": [ { "name": "Logged In User", "request": { "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{Token}}", "type": "string" } ] }, "method": "GET", "header": [], "url": { "raw": "https://api.viessmann-platform.io/users/v1/users/me?sections=identity", "protocol": "https", "host": [ "api", "viessmann-platform", "io" ], "path": [ "users", "v1", "users", "me" ], "query": [ { "key": "sections", "value": "identity" } ] }, "description": "Gets logged in user data. The response will only contain information from sections that were included in the request." }, "response": [] } ], "description": "Gets logged in user data. The response will only contain information from sections that were included in the request." }, { "name": "IoT", "item": [ { "name": "Service documents", "item": [ { "name": "List Errors From Database", "request": { "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{Token}}", "type": "string" } ] }, "method": "GET", "header": [], "url": { "raw": "https://api.viessmann.com/service-documents/v3/error-database?materialNumber={{material_number}}&countryCode=DE&languageCode=de", "protocol": "https", "host": [ "api", "viessmann", "com" ], "path": [ "service-documents", "v3", "error-database" ], "query": [ { "key": "materialNumber", "value": "{{material_number}}" }, { "key": "errorCode", "value": "0E", "disabled": true }, { "key": "countryCode", "value": "DE" }, { "key": "languageCode", "value": "de" } ] }, "description": "Returns array of errors and their possible solutions for selected material from error database. Can be filtered by error code.\n\nThe response contains list of available locales for given material. If requested locale is not supported then closest match is selected and returned." }, "response": [] } ], "description": "Possession and collection of service documents act as a pillar and supporting element to your system. Technical documents and data about devices are integral and should be able to be easily accessed. Using the Service Documents API will allow developers to retrieve and access important system documents." }, { "name": "Installations", "request": { "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{Token}}", "type": "string" } ] }, "method": "GET", "header": [], "url": { "raw": "https://api.viessmann.com/iot/v1/equipment/installations?includeGateways=true", "protocol": "https", "host": [ "api", "viessmann", "com" ], "path": [ "iot", "v1", "equipment", "installations" ], "query": [ { "key": "includeGateways", "value": "true" } ] } }, "response": [] }, { "name": "Installation features", "request": { "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{Token}}", "type": "string" } ] }, "method": "GET", "header": [], "url": { "raw": "https://api.viessmann.com/iot/v1/equipment/installations/{{installationID}}/features", "protocol": "https", "host": [ "api", "viessmann", "com" ], "path": [ "iot", "v1", "equipment", "installations", "{{installationID}}", "features" ] } }, "response": [] }, { "name": "Gateways", "request": { "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{Token}}", "type": "string" } ] }, "method": "GET", "header": [], "url": { "raw": "https://api.viessmann.com/iot/v1/equipment/gateways/", "protocol": "https", "host": [ "api", "viessmann", "com" ], "path": [ "iot", "v1", "equipment", "gateways", "" ] } }, "response": [] }, { "name": "Gateway features", "request": { "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{Token}}", "type": "string" } ] }, "method": "GET", "header": [], "url": { "raw": "https://api.viessmann.com/iot/v1/equipment/installations/{{installationID}}/gateways/{{gatewaySerial}}/features/", "protocol": "https", "host": [ "api", "viessmann", "com" ], "path": [ "iot", "v1", "equipment", "installations", "{{installationID}}", "gateways", "{{gatewaySerial}}", "features", "" ] } }, "response": [] }, { "name": "Devices", "request": { "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{Token}}", "type": "string" } ] }, "method": "GET", "header": [], "url": { "raw": "https://api.viessmann.com/iot/v1/equipment/installations/{{installationID}}/gateways/{{gatewaySerial}}/devices/", "protocol": "https", "host": [ "api", "viessmann", "com" ], "path": [ "iot", "v1", "equipment", "installations", "{{installationID}}", "gateways", "{{gatewaySerial}}", "devices", "" ] } }, "response": [] }, { "name": "Device features", "request": { "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{Token}}", "type": "string" } ] }, "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json", "type": "text" } ], "url": { "raw": "https://api.viessmann.com/iot/v1/equipment/installations/{{installationID}}/gateways/{{gatewaySerial}}/devices/{{deviceId}}/features/", "protocol": "https", "host": [ "api", "viessmann", "com" ], "path": [ "iot", "v1", "equipment", "installations", "{{installationID}}", "gateways", "{{gatewaySerial}}", "devices", "{{deviceId}}", "features", "" ] } }, "response": [] }, { "name": "Heating schedule", "request": { "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{Token}}", "type": "string" } ] }, "method": "GET", "header": [], "url": { "raw": "https://api.viessmann.com/iot/v1/equipment/installations/{{installationID}}/gateways/{{gatewaySerial}}/devices/{{deviceId}}/features/heating.circuits.0.heating.schedule", "protocol": "https", "host": [ "api", "viessmann", "com" ], "path": [ "iot", "v1", "equipment", "installations", "{{installationID}}", "gateways", "{{gatewaySerial}}", "devices", "{{deviceId}}", "features", "heating.circuits.0.heating.schedule" ] } }, "response": [] } ], "description": "Information regarding the operational condition of your system is a major component of system longevity. Consuming information provided by every node on your system ensures that your product is functional and enables you to connect your system to the components in your environment. Whether you want to identify the status of a gateway or of a heating compressor, our IoT API provides you with the information you need.\n\nFor using IoT features, you need essential three numbers of your heating device: *installationID*, *gatewaySerial* and *deviceID*. In this section, you will also find a short glossary that explains all relevant terms.\n\nPlease visit our API documentation for more information: [https://documentation.viessmann.com/static/iot/overview](https://documentation.viessmann.com/static/iot/overview)" } ], "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }
... Mehr anzeigen