Developer Portal

Our API Docs

Integration

Customers can use any GraphQL client and can query the data in a manner that suits their use case.

API key can be specified as a HTTP header x-api-key

Schema

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58

schema {
 query: Query
}

type Query {
 businessPlans(zipCode: String!): [ResidentialPlan!]
 "Get a list of residential plans. If utility id/code is provided it will take precedence otherwise zip code will be resolved to default utility for that area."
 residentialPlans(utilityId: ID, zipCode: String): [ResidentialPlan!]!
 "Get utilities for a given zip code and associated data like pricing etc."
 utilities(zipCode: String!): [Utility!]
 "Search utility service accounts by account number and/or address."

  utilityAccounts(accountNumber: String, city: String, isBusiness: Boolean, state: String, street: String, street2: String, zipCode: String): [UtilityAccount!]
}

type ResidentialPlan {
 description: String!
 enrollmentUrl: String!
 id: ID!
 price: Float!
 supplier: Supplier!
 term: Int!
}

type Supplier {
 id: ID!
 logoUrl: String!
 name: String!
}

type Utility {
 id: ID!
 name: String!
 residentialPlans: [ResidentialPlan!]
}

type Address {
  street: String!
  street2: String
  city: String!
  state: String!
  zipCode: String!
}

type UtilityAccount {
  id: ID!
 accountNumber: String
  accountStatus: AccountStatus
  serviceAddress: Address!
  displayAddress: String
  isBusiness: Boolean!
  utilityCode: String!
}

enum AccountStatus {
  ACTIVE
  DE_ENERGIZED
  INACTIVE
}

Sample GraphQL query

Query for residential plans

1
2
3
4
5
6
7
8

{
 residentialPlans(zipCode: "75035") {
   id
   description
   term
   price
 }
}

Query for utilities in a zip code and residential plans associated with them

1
2
3
4
5
6
7
8
9
10

{
 utilities(zipCode: "75035") {
   id
   name
   residentialPlans {
       id
      description
   }
 }
}

Query utilities and residential rate plans separately

1
2
3
4
5
6
7
8
9
10

{
 utilities(zipCode: "75035") {
   id,
   name
 }
 residentialPlans(zipCode: "75035") {
   id,
   description
 }
}

Query for utility accounts based on account number and/or service address

Note: street address and/or account number is required

1. Search by account number

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

{
 utilityAccounts(accountNumber: "1008901024900370190109") {
   id
   isBusiness
   accountNumber
    utilityCode
    serviceAddress {
      street
      city
      state
     zipCode
   }
   accountStatus
   displayAddress
 }
}

1. Search by address

Note: "street" field is required

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

{
 utilityAccounts(street: "947 STREETLIGHT STLG 250HPS", city: "BROWNSVILLE", state: "TX", zipCode: "78521") {
   id
   isBusiness
   accountNumber
    utilityCode
    serviceAddress {
      street
      street2
      city
      state
     zipCode
   }
   accountStatus
   displayAddress
 }
}