{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"ffa75c0a-66ef-4928-8274-524f037d6cc8","name":"PowerPro API v1.0.3","description":"## Getting Started\n\nThe base URL for the API is - [https://api.powerprorto.com.au/](https://api.powerprorto.com.au/)\n\nA username and password is required for first access to the API endpoints.\n\n## Authentication\n\nThe API accepts multiple kinds of authentication\n\nFor initialisation, to start making requests, the <u>login</u> endpoint accepts\n\n1. A Username + Password combination using basic auth as the ROOT user\n\n2. An API key using the API key authentication type\n\n\nThese are both done via a POST request using your preferred or provided credentials through the Authentication HTTP header against the login endpoint.\n\nOnce authenticated, a token is returned which should be used in subsequent API calls for other endpoints.\n\nThis token has a lifespan of 60 minutes (One hour) after which the API client should authenticate again in order to use the API. Alternatively, the authentication can be refreshed through the <u>refresh</u> endpoint, provided the token has not expired.\n\nExample Request\n\n```\nPOST /auth/login HTTP/1.1\nHost: api.powerprorto.com.au\nX-API-Key: ••••••\n\n ```\n\n#### Example Responses\n\nSuccess Response example:\n\n``` json\n{\n    \"access_token\": ••••••,\n    \"token_type\": \"bearer\",\n    \"expires_in\": 3600,\n    \"message\": \"Success\"\n}\n\n ```\n\nFail Response example:\n\n``` json\n{\n    \"error\": \"Unauthorized\"\n}\n\n ```\n\n### Endpoint Restrictions\n\nSome endpoints will only be accessible after retrieving a token by a root user login, or by an API key with significant enough permissions to carry out the designated task.\n\n# API Requests\n\nAPI requests typically use the POST method to insert data, the GET method to retrieve data, the PUT method to update data and the Delete method to delete data. The HTTP method used in each API endpoint is detailed in the endpoint specification in this document.\n\n## Encoding\n\nHTTP data exchange (requests and responses) use UTF-8 character encoding.\n\n## Parameters\n\n- The order of the parameters in the request is not relevant\n\n- Request parameters documented **in bold** in this document denote a required parameter.\n\n- Date Request parameters should have a yyyy-mm-dd format\n\n- Pagination of data occurs via the query parameter ‘page’ and a the page number requested\n\n\n## API Responses\n\n### Valid API responses\n\nA valid response is one where the http status code is 200 (or 201 for resource creation).\n\nA valid API response will return JSON content. Below is an abbreviated example of a valid response:\n\n``` json\n{\n  \"request_id\" : \"12345678-9012-3456-7890-1234567890123\"\n  \"data\": {\n    \"id\": 1298,\n    \"name\": \"Certificate III in Music\",\n    \"nat_code\": \"CUA30920\",\n    \"location\": \"Perth Northbridge Campus\",\n    \"start_date\": \"2024-9-20\",\n    …\n  },\n  ...\n}\n\n ```\n\nEven if there is a data error, providing the access to the API was successful (valid API response) the return content is JSON. In this case a single “error” object containing a “code” and a “description” field as per example below:\n\n``` json\n{\n  \"request_id\": \"12345678-9012-3456-7890-1234567890123\"\n  \"error\": {\n    \"code\": 1,\n    \"description\": \"A valid 'XXXX' was not provided\"\n  }\n}\n\n ```\n\n### Invalid API responses\n\nAn invalid response is one where the http status code is a 400 level code. These include invalid endpoint, badly formatted requests, etc.\n\nContact Support:\n Email: support@powerprorto.com.au","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"24496491","team":6746061,"collectionId":"ffa75c0a-66ef-4928-8274-524f037d6cc8","publishedId":"2sBXcAJiHu","public":true,"publicUrl":"https://documenter-api.postman.tech/view/24496491/2sBXcAJiHu","privateUrl":"https://go.postman.co/documentation/24496491-ffa75c0a-66ef-4928-8274-524f037d6cc8","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.10.1","publishDate":"2026-02-11T03:31:52.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"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/c02dd44581dc537b9dac2cec5bc31f82bf0bf422718d5ee1657e648ab674a034","favicon":""},"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://documenter.gw.postman.com/view/metadata/2sBXcAJiHu"}