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

name
Bearer
in
header
description

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

POST /mdp/register/meter/single-phase

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"
}
200 OK

OK

400 Bad Request

If there is an issue with the data provided in the request a 400 will be returned.

401 Unauthorized

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

POST /mdp/register/meter/three-phase

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"
}
200 OK

OK

400 Bad Request

If there is an issue with the data provided in the request a 400 will be returned.

401 Unauthorized

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

GET /mdp/validate

Validates that the Reposit box is connected to the internet as well as its EDMI meter.

repositBox

The serial number of the Reposit box.

type
string
in
query
200 OK

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.

400 Bad Request

If there is an issue with the data provided in the request a 400 will be returned.

401 Unauthorized

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

POST /mdp/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"
  }
}
200 OK

OK

400 Bad Request

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.

401 Unauthorized

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

POST /mdp/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"
}
200 OK

OK

400 Bad Request

If there is an issue with the data provided in the request a 400 will be returned.

401 Unauthorized

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"
}