Partner-Created Meters

For regions and programs that do not require customers to authorize utility data sharing, partners can directly create meters on the Leap platform using the Create Meters API described in this guide or by CSV upload in the Partner Portal.

The Create Meters endpoint supports the following use cases:

  • Create meters individually for desired program(s) as soon as customer agrees to participate within your enrollment workflow
  • Create meters in bulk for desired program(s)
  • Create meters in bulk and let Leap determine which meters may be eligible for which programs
  • Update previously created meters by overwriting with new data (see update_existing note at end of this guide)

Global Required Fields

The following fields are required to be included in the request body in order for a meter to be created. Failure to include one or more of these will result in a 400 error with the response body indicating which fields are missing.

Field NameDescription
partner_referenceUnique ID that partner uses to identify this device (e.g. serial number) or utility meter (e.g. customer or site ID). Check out the Utility Meters vs. Devices guide for guidance on how to define this.
transmission_regionChoose the ISO or geographic region this asset is part of
customer_classificationChoose residential vs. commercial
load_typesChoose one or more load types that are being controlled for demand response purposes
meter_typeChoose device vs. utility meter vs. submeter
street_1, postal_code, city, state_or_province_code, country_codeAddress where customer asset resides

Program Required Fields

Most programs require additional fields to be provided in order to meet eligibility requirements. If you know the program(s) that you want to enroll these meters into, you need to include these program-specific required fields as well.

It is also recommended to include optional fields since these additional parameters can help Leap quickly resolve issues or address questions from program operators without requiring additional data requests causing delays in the enrollment process.

Check out the following Knowledge Center articles for a list of required & optional fields:

🚧

Global vs. Program Required Fields

Only globally required fields are indicated as required in the API reference file. Additional program-specific required fields are not marked as required but still need to be added if you want the meter(s) to be enrolled in those programs.

Creating and Verifying New Meters

Use the following endpoints to create meters, save the new Leap meter IDs in your internal systems, and check meter enrollment status:

STEP 1: Create Meters individually or in bulk via JSON or CSV input.

📘

JSON input is detailed in the API reference file. For CSV input, use the Content-Type: text/csv header and include the CSV data as raw text in the POST body.

STEP 2: Use the Get Meters Job Status endpoint to query the job ID provided in the response body of step 1

If all global required fields were included, the resulting meter ID will be provided for each partner_reference ID. If a meter was not created, the failure reason will be provided.

Job-level statuses:

  • PROCESSING - Job in process or in queue to be processed; check back later
  • FAILED - Internal error; reach out to Leap if request continues to fail
  • COMPLETED - Job processing completed successfully
  • COMPLETED_WITH_ERRORS - Job processing completed but there were one or more errors; check the asset-level status for more details

Asset-level statuses:

  • PROCESSING - Job in process or in queue to be processed; check back later
  • FAILED - Internal error; reach out to Leap if request continues to fail
  • DUPLICATE - Meter with that partner_reference already exists in your account; if you want to update the existing meter, use the update_existing query param
  • COMPLETED - Job processing completed successfully; meter was created or updated
  • MULTIPLE_PARTNER_REFERENCE - More than one Leap meter with that partner_reference exists in your account; ensure no duplicate partner_reference IDs exist if you are attempting to create a new meter and ensure only a single partner_reference exists if you are attempting to update the meter using the update_existing query parameter

STEP 3: Optionally, call the Get Meter Enrollment endpoint for your new meter ID to track the meter enrollment status or poll the Search Meter Enrollments endpoint to track the statuses of all meters.

🚧

Missing Fields

These Meter Enrollment endpoints will provide the status of eligibility checks and indicate if any program-specific required fields were missing when the meter was created. If fields were missing, use the update_existing query parameter described below to add them.


❗️

Update meters withupdate_existing query parameter

Adding this optional query parameter, as shown on Create Meters reference file, allows for changing or adding fields to an already created meter. To avoid accidentally overwriting existing meter data, it should only be used and set to true when you explicitly want to overwrite all existing meter data fields for each applicable partner_reference. When this is set to true:

  • If an existing partner_reference is found, ALL fields will be updated with the new data uploaded
  • If no matching partner_reference is found, a new meter will be created
  • If multiple existing partner_reference are found, a MULTIPLE_PARTNER_REFERENCE error status will be provided and no meter will be created or updated.