free site design templates

ApplicationInformation Resource Details

ApplicationInformation
Resource Content

The ApplicationInformation resource exists for each Third Party application that completes the Data Custodian registration process.  It is the responsibility of the Data Custodian to maintain the resource structure and must provide all required and known optional elements on demand. The ApplicationInformation resource is accessed via the Data Custodian application's ApplicationInformatipn API interface.  This interface support is required for any Data Custodian application to obtain the Green Button Data Custodian Connect My Data (CMD) certification.

Elements of the ApplicationInformation resource that are required appear BOLD in the Element column of the following table.  The Sample Content column of the table shows values defined by the North American Energy Standards Board's (NAESB) Energy Service Provider Interface (ESPI - REQ.21) standard and include current extensions as defined by the derivedESPI.XSD schema. 

Provided ByElementDescriptionSample Content
Data CustodiandataCustodianIdA value provided by the Data
Custodian to a Third Party during the 
Third  Party application registration
process to identify the Data Custodian 
application during the  OAuth 2.0 access
token process
<dataCustodianId>
        XYZ_Electric
</dataCustodianId>
Data CustodiandataCustodian
ApplicationStatus
A code indicating the current status
of the Data Custodian application

Defined types are:
        1 - Review
        2 - Production
        3 - On Hold
        4 - Revoked
<dataCustodianApplicationStatus>
        2
</dataCustodianApplicationStatus>
Third PartythirdParty
ApplicationDescription
A description of the Third Party
Application
<thirdPartyApplicationDescription>
        NAESB ESPI CMD Certification
        Test Harness
</thirdPartyApplicationDescription>
Third PartythirdParty
ApplicationStatus
A code indicating the current status
of the Third Party application

Defined types are:
        1 - Development
        2 - Review / Test
        3 - Production (Live)
        4 - Retired (Remove)
<thirdPartyApplicationStatus>
        3
</thirdPartyApplicationStatus>
Third PartythirdParty
ApplicationType
A code indicating the type of the
Third Party application

Defined types are:
        1 - Web
        2 - Desktop
        3 - Mobile
        4 - Device
<thirdPartyApplicationType>
        1
</thirdPartyApplicationType>
Third PartythirdParty
ApplicationUse
A code indicating the expected use
of the Third Party application

Defined types are:
        1 - Energy Management
        2 - Comparisons
        3 - Government
        4 - Academic
        5 - Law Enforcement
<thirdPartyApplicationUse>
        1
</thirdPartyApplicationUse>
Third PartythirdParty
Phone
The phone number at which the
Third Party can be reached (For
debugging - not to be shared with
customers)
<thirdPartyPhone>
        +1 (440) 123-4567 x2341
</thirdPartyPhone
Data Custodianauthorization
ServerUri
Contains the base URI of the Data 
Custodian's Authorization Server
<authorizationServerUri>
        https://sandbox.
        greenbuttonalliance.org:8443
</authorizationServerUri>
Third PartythirdParty
NotifyUri
Contains the URI the Third Party
Application uses to be notified by
the Data Custodian it has updated 
information available for the Third
Party application
<thirdPartyNotifyUri>
        https://sandbox.
        greenbuttonalliance.org:8443/
        ThirdParty/espi/1_1/Notification
</thirdPartyNotifyUri>
Data CustodianauthorizationServer
AuthorizationEndpoint
Contains the URI of the Data
Custodian's Authorization Server's
OAuth 2.0 Authorize Endpoint
<authorizationServerAuthorizationEndpoint>
        https://sandbox.
        greenbuttonalliance.org:8443/
        DataCustodian/oauth/authorize
</authorizationServerAuthorizationEndpoint>
Data CustodianauthorizationServer
RegistrationEndpoint
Contains the URI of the Data
Custodian's Application used to
allow Third Party applications to
register using the OAuth 2.0
Dynamic Client Registration
Protocol (IETF RFC 7591)
<authorizationServerRegistrationEndpoint>
        https://sandbox.
        greenbuttonalliance.org:8443/
        DataCustodian/espi/1_1/register
</authorizationServerRegistrationEndpoint>
Data CustodianauthorizationServer
TokenEndpoint
Contains the URI of the Data
Custodian's Authorization Server's
OAuth 2.0 Token Endpoint
<authorizationServerTokenEndpoint>
        https://sandbox.
        greenbuttonalliance.org:8443/
        DataCustodian/oauth/token
</authorizationServerTokenEndpoint>
Data CustodiandataCustodian
BulkRequestURI
Contains the URI of the Data
Custodian Application's Bulk
Request API
<dataCustodianBulkRequestURI>
        https://sandbox.
        greenbuttonalliance.org:8443/
        DataCustodian/espi/1_1/resource/
        Batch/Bulk/{BulkID}
</dataCustodianBulkRequestURI>
Data CustodiandataCustodian
ResourceEndpoint
Contains the URI of the Data
Custodian Application's Resource
Endpoint
<dataCustodianResourceEndpoint>
        https://sandbox.
        greenbuttonalliance.org:8443/
        DataCustodian/espi/1_1/resource
</dataCustodianResourceEndpoint>
Third PartythirdParty
ScopeSelection
ScreenURI
Contains the URI of the Third Party
Application's Scope Selection Screen
used during the OAuth 2.0 Authorization
process for the retail customer to indicate
what Data Custodian information they
desire to share with the Third Party
<thirdPartyScopeSelectionScreenURI>
        https://sandbox.
        greenbuttonalliance.org:8443/
        ThirdParty/espi/1_1/
        RetailCustomer/ScopeSelection
</thirdPartyScopeSelectionScreenURI>
Third PartythirdParty
UserPortal
ScreenURI
Contains the URI of the Third Party
Application's home page used by 
the Data Custodian application to
redirect retail customer browser to
the Third Party application if they
initiate the OAuth 2.0 Authorization
process at the Data Custodian
<thirdPartyUserPortalScreenURI>
        https://sandbox.
        greenbuttonalliance.org:8443/
        ThirdParty
</thirdPartyUserPortalScreenURI>
Data Custodianclient_secretA value assigned by the Data 
Custodian to a Third Party after it
has successfully registered a Third
Party application used with the 
client_id to verify the registered
Third Party application during the
OAuth 2.0 access token process
<client_secret>
        a787e90b13c34c07a988b15acaaf
        5b09
</client_secret>
Third Partylogo_uriContains the URI of a logo image
the Data Custodian application can
use to denote the Third Party
application.  Sizes greater than 180
x 120 may be cropped or reduced
by the Data Custodian application
<logo_uri>
        https://sandbox.
        greenbuttonalliance.org:8443/
        ThirdParty/resources/ico/
        favicon.png
</logo_uri>
Third Partyclient_nameThe name of the Third Party
Application
<client_name>
        GBA Sandbox Third Party
        Application
</client_name>
Third Partyclient_uriContains the URI of the Third Party
application's home page
<client_uri>
        https://sandbox.
        greenbuttonalliance.org:8443/
        ThirdParty
</client_uri>
Third Partyredirect_uriContains the URI of the Third Party
application's OAuth 2.0 redirect URI
used during the OAuth 2.0
authorization process
<redirect_uri>
        https://sandbox.
        greenbuttonalliance.org:8443/
        ThirdParty/espi/1_1/OAuthCallBack
</redirect_uri>
Data Custodianclient_idA value assigned by the Data
Custodian to a Third Party after it
has successfully registered a Third
Party application used with the
client_secret to verify the registered  
Third Party application during the  
OAuth 2.0 access token process
<client_id>
        9c9db266dc784067969fe9a90ec2
        aa10
</client_id>
Third Partytos_uriContains the URI of a Third Party
application's Term of Service
webpage
<tos_uri>
        https://sandbox.
        greenbuttonalliance.org:8443/
        ThirdParty/TermsOfService
</tos_uri>
Third Partypolicy_uriContains the URI of a Third Party
application's Usage Policy
<policy_uri>
        https://sandbox.
        greenbuttonalliance.org:8443/
        ThirdParty/UsagePolicy
<policy_uri>
Third Partysoftware_idA value assigned by the Third Party
that identifies the registered Third
Party application.  The value of this
element MAY be  a UUID (IETF RFC
4122)
<software_id>
        a5dee759-9acc-498d-9b6a-
        b5097c920008
</software_id>
Third Partysoftware_
version
A value assigned by the Third Party
that denotes the current version of
the Third Party application.  It should
change whenever the Third Party
application is updated
<software_version>
        Version 1.00.00
</software_version>
Data Custodianclient_id_
issued_at
Contains the Date Time the Data
Custodian issued the Third Party
application the value found in the
client_id element.
<client_id_issued_at>
        1470948388
</client_id_issued_at>
Data Custodianclient_secret_
expires_at
Contains the Date Time the Data
Custodian issued client_secret
element expires.  A value of "0"
indicates the issued client_secret
never expires.
<client_secret_expires_at>
        2147483647
</client_secret_expires_at>
Third PartycontactsArray of e-mail addresses for
people responsible for the Third
Party application.  These MAY be
made available to retail customers
for support requests.  The Data
Custodian may use the addresses
as contacts for Third Party
application assistance on a Third
Party administrative webpage.
<contacts>
        [email protected]
</contacts>

Data Custodiancontacts
<contacts>
        [email protected]
</contacts>
Data Custodiantoken_endpoint_
auth_method
The OAuth 2.0 authentication
method used by the Data
Custodian Authorization Server's
OAuth 2.0 Token Endpoint 

Defined types are:
        client_secret_basic
<token_endpoint_auth_method>
        client_secret_basic
</token_endpoint_auth_method>
Data CustodianscopeSpace separated list of scope values
the Third Party application my use
during the OAuth 2.0 access token
process

Note: Only 1 scope string is required
<scope>
        FB=1_3_4_5_8_10_13_14_15_18_
        19_31_32_35_37_38_39_40;
        IntervalDuration=900_3600_86400;
        BlockDuration=Daily;
        HistoryLength=63072000;
        SubscriptionFrequency=Daily;
        BR=50036; 
</scope>
Data Custodianscope
<scope>
        FB=10; IntervalDuration=2592000;
        BlockDuration=monthly;
        HistoryLength=13
</scope>
Data Custodianscope
<scope>
        FB=4_5;IntervalDuration=3600;
        BlockDuration=daily;
        HistoryLength=13
</scope>
Data Custodianscope
<scope>
        FB=11;IntervalDuration=2592000;
        BlockDuration=monthly;
        HistoryLength=13
</scope>
Data Custodiangrant_typesOAuth 2.0 grant_types supported
by the Data Custodian application
during the OAuth 2.0 access token
process

Defined types are:
        authorization_code
        client_credentials
        refresh_token

Note: All three types MUST be supported 
<grant_types>
        authorization_code
</grant_types>
Data Custodiangrant_types
<grant_types>
        client_credentials
</grant_types>
Data Custodiangrant_types
<grant_types>
        refresh_token
</grant_types>
Data Custodianresponse_typesOauth 2.0 response_types
supported by the Data Custodian
application during the OAuth 2.0
access token process

Defined types are:
        code
<response_types>
        code
</response_types>
Data Custodianregistration_
client_uri
Contains the Data Custodian
application's URI value a Third
Party application uses to manage
the ApplicationInformation
Resource elements provided by
the Third Party during the Third
Party registration process
<registration_client_uri>
        https://sandbox.
        greenbuttonalliance.
        org:8443/DataCustodian/espi/1_1/
        resource/ApplicationInformation/
        {ApplicationInformationID}
</registration_client_uri>
Data Custodianregistration_
access_token
An OAuth 2.0 access token provided
to the Third Party by the Data
Custodian during the Third Party
application registration process
used to access the
ApplicationInformation resource
<registration_access_token>
        fe82518d-e325-404e-978c-
        c02f9339bccc
</registration_access_token>
Data CustodiandataCustodian
ScopeSelection
Screen
The URI value of the Data Custodian
application's Scope Selection screen
used by a retail customer to pre-negotiate
the Oauth 2.0 authorization scope values
the retail customer may authorize the
Third Party application
to access
<dataCustodianScopeSelectionScreen>
        https://sandbox.
        greenbuttonalliance.org:8443/
        DataCustodian/RetailCustomer/
        ScopeSelection?ThirdPartyID=
        {client_id}
</dataCustodianScopeSelectionScreen>