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

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!]
}

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!]
}

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