ApplicationInformation Resource Details</h2>

Ref: Authorization.docx Appendix D; usage.xsd</> Legend: "TP" = ThirdParty; "DC" = DataCustodian

Supplied by

Element

Description

Sample Content

DC

dataCustodianId

Contains the identifier for the Data Custodian.

“Sandbox Data Custodian”  

DC

dataCustodianApplicationStatus

A code indicating the current status of the application. This value is provided by Data Custodian, cannot be modified by Third Party.

1 = Review

2 = Production

3 = On Hold

4 = Revoked

2

TP

thirdPartyApplicationDescription

A description of the application.

Third Party Application Description is added as provided by each TP

TP

thirdPartyApplicationStatus

A code indicating the current status of the application.

1 = Development

2 = ReviewTest

3 = Production

4 = Retired

1

TP

thirdPartyApplicationType

A code indicating the type of the application.

1 = Web

2 = Desktop

3 = Mobile

4 = Device

1

TP

thirdPartyApplicationUse

A code indicating the expected use of the application.

1 = EnergyManagement

2 = Comparisons

3 = Government

4 = Academic

5 = Law Enforcement

6 = Gamification

1

TP

thirdPartyPhone

The phone number of the organization to which access will be granted. (For debugging - not to be shared with customers)

+1 800 673-6377

DC

authorizationServerUri

Contains the base URI link to the authorization server.

https://services.greenbuttondata.org/DataCustodian

TP

thirdPartyNotifyUri

URI used to notify ThirdParty that subscribed information is available.

https://services.greenbuttondata.org/ThirdParty/espi/1_1/Notification

DC

authorizationServerAuthorizationEndpoint

An OAuth 2.0 URI used by the client to obtain authorization from the resource owner via user-agent redirection. {AuthorizationServer}{AuthorizationPath}

https://services.greenbuttondata.org/DataCustodian/oauth/authorize

DC

authorizationServerRegistrationEndpoint

A URI used by the client to register a Third Party with a Data Custodian via its {AuthorizationServer}{AuthorizationServer}{RegistrationPath}

https://services.greenbuttondata.org/DataCustodian/espi/1_1/register

DC

authorizationServerTokenEndpoint

An OAuth 2.0 URL used by the client to exchange an authorization grant for an access token, typically with client authentication.

https://services.greenbuttondata.org/DataCustodian/oauth/token

DC

dataCustodianBulkRequestURI

{DataCustodianBulkRequestURI}  URI of DataCustodian’s Bulk Request endpoint.  The value is provided by the Data Custodian and cannot be modified by the ThirdParty. 

https://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/Batch/Bulk/{BulkID}

DC

dataCustodianResourceEndpoint

{ResourceServer}{ResourcePath}

https://services.greenbuttondata.org/DataCustodian/espi/1_1/resource

TP

thirdPartyScopeSelectionScreenURI

URI redirected from DataCustodian to ThirdParty landing page. Often a login or Scope Selection page.

https://services.greenbuttondata.org/ThirdParty/espi/1_1/RetailCustomer/ScopeSelection

TP

thirdPartyUserPortalScreenURI

URI of a Third Party’s web page for use with Green Button Connect My Data

https://services.greenbuttondata.org/ThirdParty/espi/1_1/home

DC

client_secret

A secret to be associated with a “client_id” provided by the Data Custodian during registration. Used as part of the HTTP basic authorization needed for OAuth authorization.

secret

TP

logo_uri

The link to the logo image for the application. Size greater than 180 x 150 may be cropped or reduced (OAuth logo_uri).

http://services.greenbuttondata.org/ThirdParty/favicon.png

TP

client_name

The name of the application to which access will be granted (OAuth client_name).

Green Button ThirdParty

TP

client_uri

The link to the main page of the application (OAuth client_uri).

https://services.greenbuttondata.org/ThirdParty

TP

redirect_uri

The default redirect back to the application after authorization grant (OAuth redirect URI).

https://services.greenbuttondata.org/ThirdParty/espi/1_1/OAuthCallBack

DC

client_id

Contains the identifier for the Third Party (OAuth client_id).

 (ThirdParty name)

TP

tos_uri

A URI that points to a human-readable Terms of Service document for the Third Party Application.  The Terms of Service usually describes a contractual relationship between the Retail Customer and the Third Party Application that the Retail Customer accepts when authorizing access to the Third Party Application.

http://services.greenbuttondata.org/ThirdParty/TermsOfService

TP

policy_uri

A URI that points to a human-readable Policy document for the Third Party Application.  The policy usually describes how a Retail Customer's energy usage information will be used by the Third Party Application.

 

http://services.greenbuttondata.org/ThirdParty/UsagePolicy

TP

software_id

An identifier for the software that comprises the Third Party Application.  The software_id is asserted by the Third Party software and is intended to be shared between all copies of the Third Party software.  The value of this field MAY be a UUID [RFC4122].

MyCoolGreenButtonAnalyzer

TP

software_version

A version identifier for the software that comprises a Third Party Application.  The value of this field is a string that is intended to be compared using string equality matching.  The value of the software_version SHOULD change on any update to the Third Party software.

Version 1.00.00

DC

client_id_issued_at

Time date stamp at which this client_id was issued. Note the schema data type is TimeType and the presentation in OAuth message flow is xs:dateTime and requires a conversion when accessed.

"1403190000" => 2014-06-19T15:00:00Z

DC

client_secret_expires_at

Date time at which this client_secret expires -- value of 0 means the client_secret never expires.

0

TP

contacts

Array of email addresses for people responsible for the Authorized Third Party Application.  These MAY be made available to Retail Customers for support requests for the Authorized Third Party application.  The Data Custodian Authorization Server MAY use the email addresses as identifiers for an Authorized Third Party application administrative page.

support@energyos.org

TP

token_endpoint_auth_method

(The authentication method used by the OAuth 2.0 Token Endpoint to authenticate the Third Party Application)

client_secret_basic

TP

scope

List of scope values the Third Party Application may use when requesting access Tokens.

FB=1_3_4_5_8_13_18_19_31_34_35_39;IntervalDuration=900_3600;BlockDuration=Daily; HistoryLength= 34128000;SubscriptionFrequency=Daily; AccountCollection=5;BR=1;

TP

grant_types

Grant types Third Party plans to support (all three are required).

client_credentials

TP

grant_types

 

authorization_code

TP

grant_types

 

refresh_token

TP

response_types

Response types Third Party plans to supported.

code

DC

registration_client_uri

{ClientConfigurationURI} A URI used by a registered client to manage registration information.  This URI is returned by the AuthorizationServer in the “registration_client_uri” field of the client information response.  This is used to retrieve the ApplicationInformation resource

https://services.greenbuttondata.org/DataCustodian/espi/1_1/resource/ApplicationInformation/{ApplicationInformationID}/

DC

registration_access_token

A credential obtained during Third Party registration with the Data Custodian to enable access to the ApplicationInformation resource. This is persisted in the ApplicationInformation resource structure.

UUID is an automatically generated 128 bit number:

example = fe82518d-e325-404e-978c-c02f9339bccc

 

The Third party doesn’t need to know the value for this field.

 

DC

dataCustodianScopeSelectionScreenURI

The URI used by the Third Party to redirect the Retail Customer to the Data Custodian Scope Selection Screen (note that this will likely involve a dialogue with the Retail Customer including a log in authentication process).

http://localhost:8080/DataCustodian/RetailCustomer/ScopeSelection

</div>