Reposit Power Registrations API API Reference
Documentation for the Reposit Power MDP Registrations API. Please review our versioning and support policy before using the API.
API Endpoint
https://registrations.repositpower.com/ Contact: api@repositpower.com
Schemes: https
Version: 1.0.0
Authentication
AccessToken
To authenticate you need to generate and API Key using Reposit Fleet. API Keys can be limited to whitelisted origin IP addresses for secruity and do not expire making them more suitable to server-to-server comms. API keys may also be revoked via Reposit Fleet.
Creating an API Key
API keys for the Reposit Market API can be generated by first logging in to Reposit Fleet. Once you have logged in click your username at the top right and then select " User Settings"
Within the section labelled "API Keys" click the "Add API Key" button.
Within the dialog that appears you will be able to name the key you are generating and specify a whitelist of IP addresses that this token is valid for. You will also need to confirm your password. When you have configured your keys settings click "Add" and your newly created key will be displayed - the key itself is not stored by Reposit and therefore this is your only opportunity to save the key securely.
Note: The generated key authenticates as the account that you are currently logged in to R eposit Fleet for and as such will carry the same permissions. If you require a locked down account it is recommend that you create a new account for Reposit Fleet and generate the API Key for this account.
Using an API Key
Simply add Bearer followed by the API key in the Authorization header of any request to Market API.
e.g.:
Authorization: Bearer A2YWQiLCJpc3...
Revoking an API Key
If an API Key becomes lost or is no longer required then the API Key can be revoked.
Login to Reposit Fleet as the user for which you wish to revoke the API Key and proceed to User Settings.
From within the "API Keys" you will be able to see a table of all issued API Keys, find the API Key you wish to revoke and select the "Remove" link in the table.
Once an API Key is removed it will cease to work immedately and can not be recovered or reinstated.
Paths
Register Single-Phase Meter
Associates the meter in a single-phase board with a Reposit box.
Request body.
- repositBox: string
-
The serial number of the Reposit box.
- meterSerialNumber: string
-
The EDMI meter serial number.
Request Example
{
"repositBox": "SJKGRHDV",
"meterSerialNumber": "686546516"
}
OK
If there is an issue with the data provided in the request a 400 will be returned.
Invalid access token. If the error code in the returned JSON is expired_token, it means you need to request a new access token through the /auth/login/ route using your username and password.
Response Example (200 OK)
{
"status": "OK"
}
Response Example (400 Bad Request)
{
"status": "ERROR",
"message": "Missing 'repositBox' field."
}
Response Example (401 Unauthorized)
{
"error": "expired_token",
"message": "The token you provided has expired.",
"status": "error"
}
Register Three-Phase Meter
Associates the meters in a three-phase board with a Reposit box.
Request body.
- repositBox: string
-
The serial number of the Reposit box.
- gridMeterSerialNumber: string
-
The serial number of the EDMI meter responsible for metering grid phases.
- sgaMeterSerialNumber: string
-
The serial number of the EDMI meter responsible for metering solar and the SGA.
Request Example
{
"repositBox": "SMHFDSBG",
"gridMeterSerialNumber": "214852456",
"sgaMeterSerialNumber": "325484512"
}
OK
If there is an issue with the data provided in the request a 400 will be returned.
Invalid access token. If the error code in the returned JSON is expired_token, it means you need to request a new access token through the /auth/login/ route using your username and password.
Response Example (200 OK)
{
"status": "OK"
}
Response Example (400 Bad Request)
{
"status": "ERROR",
"message": "Missing 'repositBox' field."
}
Response Example (401 Unauthorized)
{
"error": "expired_token",
"message": "The token you provided has expired.",
"status": "error"
}
Validate Comms
Validates that the Reposit box is connected to the internet as well as its EDMI meter.
The serial number of the Reposit box.
Connection failure - connected in the response will be false when there is an error and true otherwise. The message will only be present if there is an error.
If there is an issue with the data provided in the request a 400 will be returned.
Invalid access token. If the error code in the returned JSON is expired_token, it means you need to request a new access token through the /auth/login/ route using your username and password.
Response Example (200 OK)
{
"connected": false,
"message": "Reposit box failed to validate the EDMI meter connection (SN: 686546516)."
}
Response Example (400 Bad Request)
{
"status": "ERROR",
"message": "Missing 'repositBox' field."
}
Response Example (401 Unauthorized)
{
"error": "expired_token",
"message": "The token you provided has expired.",
"status": "error"
}
Register Site
Assign the box with the supplied meter serial with a site address and NMI.
Request body.
- meterSerialNumber: string
-
The EDMI meter serial number.
- nmi: string
-
The site's NMI.
- siteAddress: object
- streetNumber: string
-
Site's street number, including apartment or unit.
- streetName: string
-
Site's street name.
- suburb: string
-
Site's suburb.
- postcode: string
-
Site's postcode.
- state: string
-
Site's state (one of ACT, NSW, NT, QLD, SA, TAS, VIC, WA)
Request Example
{
"meterSerialNumber": "686546516",
"nmi": "11100290359",
"siteAddress": {
"streetNumber": "17/2",
"streetName": "Yallourn St",
"suburb": "Fyshwick",
"postcode": "2609",
"state": "QLD"
}
}
OK
If there is an issue with the data provided in the request a 400 will be returned. This may include missing information, a NMI already being associated with another site or being unable to locate the system with this meter serial number.
Invalid access token. If the error code in the returned JSON is expired_token, it means you need to request a new access token through the /auth/login/ route using your username and password.
Response Example (200 OK)
{
"status": "OK"
}
Response Example (400 Bad Request)
{
"status": "ERROR",
"message": "A system with the NMI 42036798376 has already been registered."
}
Response Example (401 Unauthorized)
{
"error": "expired_token",
"message": "The token you provided has expired.",
"status": "error"
}
Connected
Notifies Reposit that the box has been installed and should be brought online.
Request body.
- meterSerialNumber: string
-
The EDMI meter serial number.
Request Example
{
"meterSerialNumber": "686546516"
}
OK
If there is an issue with the data provided in the request a 400 will be returned.
Invalid access token. If the error code in the returned JSON is expired_token, it means you need to request a new access token through the /auth/login/ route using your username and password.
Response Example (200 OK)
{
"status": "OK"
}
Response Example (400 Bad Request)
{
"status": "ERROR",
"message": "Missing 'repositBox' field."
}
Response Example (401 Unauthorized)
{
"error": "expired_token",
"message": "The token you provided has expired.",
"status": "error"
}