Fort Collins Utilities

Description: Fort Collins Utilities is a municipal utility in northern Colorado.

Website: https://data.fcgov.utilityapi.com/

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

In order for you to request data from Fort Collins Utilities customers, you must register with Fort Collins Utilities as a third party company.

Fort Collins Utilities is using UtilityAPI's EE/DER Engagement Platform to allow third-party companies to request data access from Fort Collins Utilities customers. Authorizations use the Green Button OAuth process, which means that third-parties have to be pre-registered with Fort Collins Utilities 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 Fort Collins Utilities customers. After you register, Fort Collins Utilities will review your registration and switch you to "live" mode (you will get an email when this happens).

After registering with Fort Collins Utilities as a third party, to request authorizations from Fort Collins Utilities customers and test accounts, you can use any of these methods:

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. Fort Collins Utilities 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 offer multiple ways that customers can look up their Fort Collins Utilities account. To make things smoother for the customer, you can pre-fill these lookup identifiers (phone number, email, etc.) in the OAuth scope string if you already know it. We'll automatically try to find that user using your provided information so they can skip the lookup step of authentication and go directly to the OTP sending step. If we can't find that user automatically given your prefilled value, we'll fall back using the default authentication flow.

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

Full scope string example with authentication option (percent encoded):
scope=FB%3D4_16_46%3BAdditionalScope%3Dauth-phone-1111111111

Type Can Have Value? Description Scope String Example
account Yes Try to lookup the customer via their utility account number. auth-account-1234567890-1
phone Yes Try to lookup the customer via the phone number they have on file at the utility. auth-phone-5554443333
account Yes Try to lookup the customer via the email they have on file at the utility. auth-email-joe%40example.com
address Yes Try to lookup the customer via their utility billing address. auth-address-123%20Main%20St%2C%20Anytown%2C%20CA%2012345

The FCU OAuth authorization flow doesn't use usernames or passwords by default. Instead it asks the user to lookup their account via some identifier (e.g. phone number, address, etc.), then sends them a One-Time-Passcode (OTP) to verify their identity.

That means you can't use UtilityAPI's default test usernames to manually simulate a test scenario. Instead, below we have created test identifiers so you can simulate authorizing as an Fort Collins Utilities customer under various test scenarios.

When you use these test identifiers, we won't actually send an OTP. Instead we will display it directly on the authentication page so you can enter it while you're testing. If you'd like to see what the sent OTP messages look like, use the OTP Testing guide.

Try one with your Fort Collins MyData link
(you aren't logged into an account that has a registered Fort Collins Utilities client)

Phone Number Equivalent Test Scenario Description
111-111-1111 residential A residential customer with 1 meter.
222-222-2222 commercial A commercial customer with 4 meters.
333-333-3333 badlogin Simulate error where we couldn't find that customer.
Email Address Equivalent Test Scenario Description
uapi-test-residential@example.com residential A residential customer with 1 meter.
uapi-test-commercial@example.com commercial A commercial customer with 4 meters.
uapi-test-badlogin@example.com badlogin Simulate error where we couldn't find that customer.
Physical Address Equivalent Test Scenario Description
222 LAPORTE AVE #500, FORT COLLINS, CO 80524 residential A residential customer with 1 meter.
222 LAPORTE AVE #600, FORT COLLINS, CO 80524 commercial A commercial customer with 4 meters.
222 LAPORTE AVE #800, FORT COLLINS, CO 80524 badlogin Simulate error where we couldn't find that customer.
Account Number Equivalent Test Scenario Description
111111111-1 residential A residential customer with 1 meter.
222222222-2 commercial A commercial customer with 4 meters.
333333333-3 badlogin Simulate error where we couldn't find that customer.

If you want to send a one-time passcode to a real phone number or email to see what it looks like, you can prefix a special string to your phone number or email during lookup time and we'll set that number as the test scenario's OTP contact method. NOTE: These are intended for manual testing and not for automated testing (since they will really send an OTP), so please use our test credentials or the /test-submit API for automated tests.

Format Equivalent Test Scenario Description
TEST_residential_<your_phone_number>
TEST_residential_<your_email>
residential A residential customer with 1 meter.
TEST_commercial_<your_phone_number>
TEST_commercial_<your_email>
commercial A commercial customer with 4 meters.
TEST_badlogin_<your_phone_number>
TEST_badlogin_<your_email>
badlogin Simulate error where we couldn't find that customer.