El Paso Electric Company

Description: El Paso Electric Company is a utility services company for west Texas and southern New Mexico.

Website: https://greenbutton.epelectric.com/

Utility ID: EPE (this is the utility identifier you use in our API)

In order for you to request data from El Paso Electric Company customers, you must register with El Paso Electric Company as a third party company.

As part of their Green Button Connect My Data (GBCMD) program, El Paso Electric Company is using UtilityAPI's EE/DER Engagement Platform to allow third-party companies to request data access from El Paso Electric Company customers. Authorizations use the Green Button OAuth process, which means that third-parties have to be pre-registered with El Paso Electric Company so they can be assigned a client_id.

NOTE: When you register, you will be automatically put into "sandbox" mode. This means you can only request data from test accounts, not real El Paso Electric Company customers. After you register, El Paso Electric Company will review your registration and switch you to "live" mode (you will get an email when this happens).

After registering with El Paso Electric Company as a third party, to request authorizations from El Paso Electric Company customers and test accounts, you can use any of these methods:

  • Option 1: When you Request Data from your dashboard, select "El Paso Electric Company" in the utility dropdown.
  • Option 2: Using your default Template, set the Utility ID to EPE in the url parameter or when you create a Form.
  • Option 3: The Green Button OAuth process using the El Paso Electric Company OAuth Authorize Endpoint found in your OAuth settings.

Once a customer has authorized, you will see an Authorization appear on your dashboard and via both our JSON API and Green Button API.

When your first register as a third party, your registration status is set to Sandbox mode. This means you can only request data from test accounts, so you can try it out or start building an integration, but real customers won't be able to authorize data sharing with you yet. El Paso Electric Company will review your registration, then you'll get an email letting you know that you can now switch your status to Live mode in your settings.

During the OAuth authorization flow, we by default allow El Paso Electric Company customers to verify their identity through Single Sign-On (SSO). However, since third parties may not have a real customer account when they start, we also offer a "test scenario" option. Third parties can pre-select which option (sso or test) they want their OAuth authorize request to default to by their preferred authentication choice to the scope string. In general, you'll probably only find this useful for automated testing with test accounts, since the default (sso) is what you probably want to use for real El Paso Electric Company customers.

Scope parameter format:
auth-{type}[-{value}]

Full scope string example with authentication option (percent encoded):
scope=FB%3D4_16_51%3BAdditionalScope%3Dauth-test-test_residential

Type Can Have Value? Description Scope String Example
test Yes Authenticate using a specific test scenario. auth-test-test_residential

Since the El Paso Electric Company OAuth authorization flow uses their authentication system by default, that means you can't use UtilityAPI's default test usernames to manually simulate a test scenario. Instead, below we have created some special test accounts you can simulate to try out the various authentication methods (sso or test).

Try one with your El Paso Electric Company data share link
(you aren't logged into an account that has a registered El Paso Electric Company client)

Test Account Equivalent Test Scenario Description
test_residential residential A residential customer with 1 account and 1 electric service.
test_commercial commercial A commercial customer with 2 accounts and 2 services (two electric).
test_badlogin badlogin Simulate error where we couldn't find that customer.
Username Password Equivalent Test Scenario Description
test_residential test_residential residential A residential customer with 1 account and 1 electric service.
test_commercial test_commercial commercial A commercial customer with 2 accounts and 2 services (two electric).
test_badlogin test_badlogin badlogin Simulate error where we couldn't find that customer.

To demonstrate how you can integrate the GBC OAuth authorization process into your apps and websites, we offer a demo third party website that can be configured with any GBC client, so long as it has a specific redirect_uri added. We have also created public, sandbox-only GBC clients that you can try out (see table below).

Client ID Company Name Pre-configured Demo Link
EPE_ccccccccc Test Company Link

This API provides near-real time access to readings from the customers' electric smart meters.

GET https://utilityapi.com/api/epe/odr?meter=123
# Request current meter reading
curl -H 'Authorization: Bearer API_TOKEN_HERE' \
    'https://utilityapi.com/api/v2/bills?meters=123'
Parameter Format Description Example
meter UID String Request by the Meter uid. meter=123
Parameter Format Description Example
meter UID String Meter uid. "123"
ts ISO8601 When the On Demand Read request was sent. "2016-01-01T12:30:24.653422+00:00"
status UID String Current status. Possible values are
  • initialized: request is being prepared.
  • waiting: waiting for request to start.
  • pending: request is being processed (it may take several minutes to receive the data).
  • updated: request has been received.
  • errored: we experienced an issue when making this request.
"updated"
data meter read data or null Meter read data if received. {"authorization_uid":"999","base":{...}, "readings": {...}, ...}
ttl Integer How much longer the current request lasts in seconds. No new on demand read request can be made until the current request expires. "874"
// Example pending result
{
    "data": null,
    "meter": "123",
    "status": "pending",
    "ts": "2024-06-18T16:53:25.772866+00:00",
    "ttl_seconds": 874
}
// Example updated result
    {
    "data": {
        "authorization_uid": "999",
        "base": {
            "billing_account": "3333333333",
            "billing_address": null,
            "billing_contact": "Heather Homeowner",
            "meter_numbers": [
                "3333333333"
            ],
            "service_address": "1234 MAIN AVE OLDCASTLE ON N9V 2T7, Castlefort, MD 11111",
            "service_class": "electric",
            "service_identifier": "3333333333",
            "service_tariff": ""
        },
        "blocks": [
            "base",
            "readings"
        ],
        "created": "2024-06-18T16:54:45.946211+00:00",
        "meter": 123,
        "notes": [],
        "readings": {
            "datapoints": [
                {
                    "meter_number": null,
                    "type": "fwd",
                    "unit": "kwh",
                    "value": 3821.0
                },
                {
                    "meter_number": null,
                    "type": "rev",
                    "unit": "kvarh",
                    "value": 0.0
                },
                {
                    "meter_number": null,
                    "type": "fwd",
                    "unit": "kw",
                    "value": 0.0
                },
                {
                    "meter_number": null,
                    "type": "power_factor",
                    "unit": null,
                    "value": 1.0
                }
            ],
            "end": "2023-09-25T23:35:08.000000+00:00",
            "start": "2023-07-28T16:25:46.000000+00:00"
        },
        "uid": "123-2023-07-28T16:25:46.000000+00:00-2023-09-25T23:35:08.000000+00:00",
        "updated": "2024-06-18T16:54:45.946211+00:00",
        "utility": "EPE"
    },
    "meter": "123",
    "status": "updated",
    "ts": "2024-06-18T16:54:45.946211+00:00",
    "ttl_seconds": 221
}