Discussions

Ask a Question

Feauture request. Wallet

It would be nice to have information in the API corresponding to the actual amount of money in the wallet. The same information which is in the app showed in the Personal Wallet Thanks in advance

Retrieve a list of charges seems to be ignoring 'fromDate' argument

request: ``` curl --request GET --url '<https://public-api.monta.com/api/v1/charges?chargePointId=zzzzzzz&fromDate=2024-04-23T06%3A58%3A04Z&page=0&perPage=10'> --header 'accept: application/json' --header 'authorization: Bearer xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' ``` result: ``` { "data": [ { "id": iiiiiiii, "chargePointId": ccccccc, "createdAt": "2024-04-24T23:08:02Z", "updatedAt": "2024-04-25T05:38:45Z", "cablePluggedInAt": "2024-04-24T23:08:02Z", "startedAt": "2024-04-24T23:08:02Z", "stoppedAt": "2024-04-25T05:38:45Z", "fullyChargedAt": null, "failedAt": null, "timeoutAt": null, "state": "completed", "consumedKwh": 34.07, "kwhLimit": null, "startMeterKwh": 5141.459, "endMeterKwh": 5175.524, "cost": 2.81, "price": 0, "priceLimit": null, "averagePricePerKwh": 0, "averageCo2PerKwh": 0, "averageRenewablePerKwh": 0, "failureReason": null, "stopReason": "regular state change", "note": null, "currency": { "identifier": "eur", "name": "Euros", "decimals": 2 }, "soc": null, "socLimit": null }, { "id": iiiiiiii, "chargePointId": ccccccc, "createdAt": "2024-04-22T23:08:01Z", "updatedAt": "2024-04-23T06:58:04Z", "cablePluggedInAt": "2024-04-22T23:08:01Z", "startedAt": "2024-04-22T23:08:01Z", "stoppedAt": "2024-04-23T06:58:04Z", "fullyChargedAt": null, "failedAt": null, "timeoutAt": null, "state": "completed", "consumedKwh": 0.06, "kwhLimit": null, "startMeterKwh": 5141.403, "endMeterKwh": 5141.459, "cost": 0, "price": 0, "priceLimit": null, "averagePricePerKwh": 0, "averageCo2PerKwh": 0, "averageRenewablePerKwh": 0, "failureReason": null, "stopReason": "StoppedByUser", "note": null, "currency": { "identifier": "eur", "name": "Euros", "decimals": 2 }, "soc": null, "socLimit": null }, (...) { "id": iiiiiiii, "chargePointId": ccccccc, "createdAt": "2024-04-13T23:08:01Z", "updatedAt": "2024-04-14T06:58:06Z", "cablePluggedInAt": "2024-04-13T23:08:01Z", "startedAt": "2024-04-13T23:08:02Z", "stoppedAt": "2024-04-14T06:58:05Z", "fullyChargedAt": null, "failedAt": null, "timeoutAt": null, "state": "completed", "consumedKwh": 4.72, "kwhLimit": null, "startMeterKwh": 5055.616, "endMeterKwh": 5060.337, "cost": 0.68, "price": 0, "priceLimit": null, "averagePricePerKwh": 0, "averageCo2PerKwh": 0, "averageRenewablePerKwh": 0, "failureReason": null, "stopReason": "StoppedByUser", "note": null, "currency": { "identifier": "eur", "name": "Euros", "decimals": 2 }, "soc": null, "socLimit": null } ], "meta": { "itemCount": 10, "currentPage": 0, "perPage": 10, "totalPageCount": 31, "totalItemCount": 309 } } ``` It has been working fine until yesterday.
ANSWERED

Retrieve a list of charge points

The API seems /api/v1/charge-points multiple charges even though there is only one in the app. It looks it like return chargers without a ´serialNumber´. Might be previously unsuccessful added chargers. This is the response i am receiving. ´´´json ```json Response { "data": [ { "id": 2256635, "createdAt": "2022-11-11T21:04:32Z", "updatedAt": "2022-12-12T10:16:02Z", "serialNumber": null, "name": "Garage", "visibility": "private", "maxKW": 11, "maxKw": 11, "type": "ac", "note": null, "state": "passive", "location": { .... }, "connectors": [ { "identifier": "type2", "name": "Type 2" } ], "lastMeterReadingKwh": null, "cablePluggedIn": false, "brandName": "Zaptec", "modelName": "Zaptec - Go", "firmwareVersion": null }, { "id": 2570439, "createdAt": "2022-12-12T10:12:50Z", "updatedAt": "2022-12-12T10:17:09Z", "serialNumber": null, "name": "Garage", "visibility": "private", "maxKW": 20, "maxKw": 20, "type": "ac", "note": null, "state": "passive", "location": { .... }, "connectors": [ { "identifier": "type2", "name": "Type 2" } ], "lastMeterReadingKwh": null, "cablePluggedIn": false, "brandName": "Zaptec", "modelName": "Zaptec - Go", "firmwareVersion": null }, { "id": 2570441, "createdAt": "2022-12-12T10:15:32Z", "updatedAt": "2022-12-12T10:16:38Z", "serialNumber": null, "name": "Garage", "visibility": "private", "maxKW": 11, "maxKw": 11, "type": "ac", "note": null, "state": "passive", "location": { .... }, "connectors": [ { "identifier": "type2", "name": "Type 2" } ], "lastMeterReadingKwh": null, "cablePluggedIn": false, "brandName": "Zaptec", "modelName": "Zaptec - Go", "firmwareVersion": null }, { "id": 2570442, "createdAt": "2022-12-12T10:17:50Z", "updatedAt": "2022-12-12T10:19:57Z", "serialNumber": null, "name": "Garage", "visibility": "private", "maxKW": 11, "maxKw": 11, "type": "ac", "note": null, "state": "passive", "location": { .... }, "connectors": [ { "identifier": "type2", "name": "Type 2" } ], "lastMeterReadingKwh": null, "cablePluggedIn": false, "brandName": "Zaptec", "modelName": "Zaptec - Go", "firmwareVersion": null }, { "id": 2570443, "createdAt": "2022-12-12T10:20:36Z", "updatedAt": "2022-12-12T11:13:31Z", "serialNumber": null, "name": "Garage", "visibility": "private", "maxKW": 11, "maxKw": 11, "type": "ac", "note": null, "state": "passive", "location": { .... }, "connectors": [ { "identifier": "type2", "name": "Type 2" } ], "lastMeterReadingKwh": null, "cablePluggedIn": false, "brandName": "Zaptec", "modelName": "Zaptec - Go", "firmwareVersion": null }, { "id": 2570463, "createdAt": "2022-12-12T11:18:32Z", "updatedAt": "2022-12-12T11:25:23Z", "serialNumber": null, "name": "garage", "visibility": "private", "maxKW": 11, "maxKw": 11, "type": "ac", "note": null, "state": "passive", "location": { .... }, "connectors": [ { "identifier": "type2", "name": "Type 2" } ], "lastMeterReadingKwh": null, "cablePluggedIn": false, "brandName": "Zaptec", "modelName": "Zaptec - Go", "firmwareVersion": null }, { "id": 2570470, "createdAt": "2022-12-12T11:26:31Z", "updatedAt": "2024-03-05T14:52:10Z", "serialNumber": "ZAP11111", "name": "Garage", "visibility": "private", "maxKW": 10.8, "maxKw": 10.8, "type": "ac", "note": null, "state": "busy-scheduled", "location": { .... }, "connectors": [ { "identifier": "type2", "name": "Type 2" } ], "lastMeterReadingKwh": null, "cablePluggedIn": true, "brandName": "Zaptec", "modelName": "Zaptec - Go", "firmwareVersion": "2.3.1.2" } ], "meta": { "itemCount": 7, "currentPage": 0, "perPage": 10, "totalPageCount": 1, "totalItemCount": 7 } } ``` ´´´
ANSWERED

Unable to view my charger, just got moved to the norlys solution.

Hi Today my charger was moved to the "Norlys Opladning 2.0" flavor of Monta, and thereby moved to a team controlled by them. Today I also planned to give up waiting for the official HomeAssistant integration, and make my own, but after I am authenticated , GET charge-points gives me just an empty list in return. ``` { "data": [], "meta": { "itemCount": 0, "currentPage": 0, "perPage": 10, "totalPageCount": 0, "totalItemCount": 0 } } ``` Using my browser I can see the charge-point just fine, both in the old portal and the new Monta hub, and it also shows up on the app, both Norlys Opladning 2.0 and the ol' faithful Monta app, so I should have access. When I try to guess the ID of my charger (there's really only two numbers I can find) and ask specifically about that, I get a message telling me that user 5004 does not have access to the charge point. ``` { "status": "FORBIDDEN", "message": "User with ID `50xx` has no access to Charge Point with ID `274xxx`.", "readableMessage": "Forbidden", "errorCode": "ACCESS_FORBIDDEN", "context": null } ``` If I GET charge-transactions I can see a list of transactions too long to paste in here, so something appears to be working. I found an [https://docs.public-api.monta.com/discuss/649546ae60e41400410e52e2]\(earlier discussion about non-personal chargers not being visible via this API) from 8 months ago, but it also looked like the limitation was lifted at that point. I was really hoping to keep the same openness after the switch as before, so I hope this is me doing something wrong and not a limitation in the API, and that someone can point me to what my problem is.
ANSWERED

Charging cost start at a (high) random number

Sinde the last few days I have experienced that when I start a charge through the API the field "cost" is populated with a high, random number. After one reading the number goes down to normal again. Seems like there is a spike in the beginning of the charge session.
ANSWERED

New status after 'charge stop' request'

Hi, I am controlling my charger through the API, and start the charge every day at 00:05 and stop it at 07:55. The car prioritizes the charge between 02:00 and 04:00, for the ultra-low EV tariff, but using the whole 7:50h period if needed. Until now, after running the 'stop charge' request, the new status of the charger was **`available`**, but it is now **`busy-non-released`** This is the API call I use to stop the charge: ``` curl -s --request POST --url 'https://public-api.monta.com/api/v1/charges/<ChargeSessionId>/stop' \ --header 'accept: application/json' --header 'content-type: application/json' \ --header 'authorization: Bearer <TOKEN>' ``` It worked fine until now, because after that call, the new status for the charger was **`available`**, ``` { "id": *******, "createdAt": "2023-04-24T09:04:57Z", "updatedAt": "2024-01-06T11:18:40Z", "serialNumber": "*******", "name": "************", "visibility": "private", "maxKW": 7.4, "maxKw": 7.4, "type": "ac", "note": null, "state": "available", "location": { "coordinates": { "latitude": 00.000000, "longitude": 0.0000000 }, "address": null }, "connectors": [ { "identifier": "type2", "name": "Type 2" } ], "lastMeterReadingKwh": 3666.186, "cablePluggedIn": true, "brandName": "SyncEV", "modelName": "SyncEV - BG", "firmwareVersion": "AC7K-88071-V3.05" } ``` But it is now **`busy-non-released`** ``` { "id": *******, "createdAt": "2023-04-24T09:04:57Z", "updatedAt": "2024-02-02T09:54:57Z", "serialNumber": "*******", "name": "************", "visibility": "private", "maxKW": 7.4, "maxKw": 7.4, "type": "ac", "note": null, "state": "busy-non-released", "location": { "coordinates": { "latitude": 00.000000, "longitude": 0.0000000 }, "address": null }, "connectors": [ { "identifier": "type2", "name": "Type 2" } ], "lastMeterReadingKwh": 4071.03, "cablePluggedIn": true, "brandName": "SyncEV", "modelName": "SyncEV - BG", "firmwareVersion": "AC7K-88071-V3.05" } ``` The problem with this is that when I try to start the charge again I get this: ``` { "status": "PRECONDITION_FAILED", "message": "Charge point cannot start: not available", "readableMessage": "Charge point cannot start: not available", "errorCode": "CHARGING_CHARGEPOINT_NOT_AVAILABLE", "context": null } ``` So, in short, at some point between `2024-02-01 / 00:05 UTC` (last time I was able to start the charge with the API) and `2024-02-02 / 00:05 UTC` (first time I tried and it failed) the status of the charger after stopping has changed. What is the problem with this? That we are forced to unplug and plug back again the car before we can start a new charge again. And that can be a problem. Any solution for this? Thanks
ANSWERED

Alternate input parameters for /api/v1/auth/token

Hello, we are further developing our app Elly to use your Public API. We believe that ClientId and ClientSecret are difficult to handle for normal users through copy/paste. We think that /api/v1/auth/token should be able to be called with email/phonenumber and a password, like we do in your app and your portal. This way it would be much easier to give our users a smoother way of signing up for your Public API. What is your opinion on this? Best regards Esben Rud Nielsen, NetBryggeriet, Denmark
ANSWERED

Retrieve a list of wallet transactions returns 404

Cannot retrieve wallet transactions. When using the wallet transaction endpoint i get this message: ``` "status": "NOT_FOUND", "message": "No wallet found for team = XXXXXX", "readableMessage": "Not Found", "errorCode": null, "context": null ```
ANSWERED

Set Limit

Hi Is there a possibility to set limits with the API? Because we want to set limits (power consumption) because of power usage, PV & battery?
ANSWERED

Endpoint for receiving list of charges is broken

When calling <https://public-api.monta.com/api/v1/charges> to receive a list of charges, the returned list is using the chargePointId value for both the chargePointId AND the id of the charge. Therefore, you never receive the id's of the charges. Eg. requesting for chargePointId 3025881 returns a list of charges with incorrect id: ``` { "data": \[ { "id": 3025881, "chargePointId": 3025881, ```