{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"f3987b4f-2d97-479e-ade1-3a3f8db16d0b","name":"Charge API","description":"This API provides functionality for Charge Point Operators (CPOs) to send home charging activity to AllStar.\n\n> You must have \"Client Credentials\" issued to you to be able to start using this API.  \nPlease get in touch if you do not have this information. \n  \n\n## Basic Usage:\n\n1. Use `dataProvider.chargePoint.findMany.v2` endpoint to list Charge Points registered with our system\n    \n    1. This is scoped to return only your Charge Points\n        \n    2. We recommend using this endpoint regularly to ensure you have picked up any recently onboarded chargers, for example either:\n        \n        1. Call the endpoint once **every time you intend to push charge session data**\n            \n        2. Call the endpoint on a **frequent schedule** (e.g. every 30 mins - 1 hour)\n            \n2. Use `dataProvider.charges.addWithIntervals` endpoint to send charge session data\n    \n    1. This endpoint allows for granular charge data segmented into 30 minute intervals - **our preferred method**\n        \n    2. If interval data is unavailable you may use the `dataProvider.charges.add` endpoint to send charge sessions with only a start/stop time. **However this affects our ability to properly price customer charges, so this endpoint is only to be used in the absence of interval data.**\n        \n3. (Optional) Use `dataProvider.charges.findMany` endpoint to list charges we have sucessfully received between a given set of dates.\n    \n    1. You may find this endpoint useful for:\n        \n        1. Checking if there are gaps in the charge session data we hold for a user\n            \n        2. Providing a \"Synced with AllStar\" status to your App users\n            \n\n## Authentication\n\nOAuth 2.0 authentication with the `client_credentials` grant type is used to authenticate with the API.\n\nAn example request can be seen below\n\n`POST https://login.chargepass.co.uk/oauth2/ausa4dehw4Wb8CLSd417/v1/token`\n\n```\ngrant_type: \"client_credentials\"\nscope: \"chargepass.homecharge.charge.write\"\nclient_id: \"CLIENT_ID\"\nclient_secret: \"CLIENT_SECRET\"\n\n ```\n\n- Client ID: Your new client ID _(The username of your shared credentials)_\n    \n- Client Secret: Your new client secret _(The password of your shared credentials)_\n    \n- Access Token URL: [<code>https://login.chargepass.co.uk/oauth2/ausa4dehw4Wb8CLSd417/v1/token</code>](https://login.chargepass.co.uk/oauth2/ausa4dehw4Wb8CLSd417/v1/token)\n    \n- Scope: `chargepass.homecharge.charge.write`\n    \n\n> **Note:**  \nToken lifetime is 1 hour, after which time a fresh token will need to be requested \n  \n\n## Response Handling\n\nWhen sending us charges, you can use the `status` value for each charge on the response to understand whether the charge has been successfully received.\n\nThe possible status values are:\n\n- `Success` - You can be assured that we've received and stored the charge\n    \n- `Duplicate` - We recognise the charge as one you have sent previously (based on the `chargeExternalId` and `chargePointExternalId` values). The charge will be ignored and will not be persisted\n    \n\n**If a 400 Bad Request is returned, the whole request will be rejected by our validation rules. In this case, none of the charges on the request will be ingested in our system.**","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"27848775","team":27474034,"collectionId":"f3987b4f-2d97-479e-ade1-3a3f8db16d0b","publishedId":"2sA3rwLDeo","public":true,"publicUrl":"https://docs.api.mina.co.uk","privateUrl":"https://go.postman.co/documentation/27848775-f3987b4f-2d97-479e-ade1-3a3f8db16d0b","customColor":{"top-bar":"FFFFFF","right-sidebar":"666666","highlight":"f2d400"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/1cc885a6-8a52-43a3-a13a-961d69b43276/QWxsc3Rhcl9jb3JwYXlfbG9nby5wbmc=","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"f2d400"}},{"name":"light","logo":"https://content.pstmn.io/1cc885a6-8a52-43a3-a13a-961d69b43276/QWxsc3Rhcl9jb3JwYXlfbG9nby5wbmc=","colors":{"top-bar":"FFFFFF","right-sidebar":"666666","highlight":"f2d400"}}]}},"version":"8.12.0","publishDate":"2026-07-09T13:07:15.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":"https://content.pstmn.io/1cc885a6-8a52-43a3-a13a-961d69b43276/QWxsc3Rhcl9jb3JwYXlfbG9nby5wbmc=","logoDark":"https://content.pstmn.io/1cc885a6-8a52-43a3-a13a-961d69b43276/QWxsc3Rhcl9jb3JwYXlfbG9nby5wbmc="}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/19b9a12fc80a12d54924d72f2ced85fd6c68042493afc824cd874e0210a865ba","favicon":"https://mina.co.uk/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://docs.api.mina.co.uk/view/metadata/2sA3rwLDeo"}