NAV Navbar
Shell HTTP JavaScript Node.JS Ruby Python Java Go

Introduction

The Urjanet API allows you to interact programmatically with the Urjanet Utility Data Platform. Through this REST API you can perform a variety of actions, from requesting utility data from providers to managing your users and organization.

This document refers to a few different personas:

Base URL: https://api.urjanet.com

Webhooks

Webhook Response

{
   "requestUri":"https://api.urjanet.com/credit/requests/3579",
   "correlationId":"test-urjanet-test2018",
   "completionStatus":"SUCCESS",
   "completionStatusDetail":"MULTIPLE_ACCOUNTS_ON_SITE"
}

Urjanet can send webhook events that notify you whenever there is a significant status update to a data request. This includes notification when data is ready for download or when a login failure occurs.

When an update occurs, Urjanet sends an event containing the new status via an HTTP POST to the webhookUrl specified on the data request. See below for a complete list of statuses:

Completion Status Completion Status Detail Description
SUCCESS null Successfully found and delivered statements
SUCCESS NO_STATEMENTS_IN_PERIOD Credentials were valid, but no statements were found in the given date range
SUCCESS MULTIPLE_ACCOUNTS_ON_SITE Credentials were valid, multiple accounts are available on the site. Statements for multiple accounts will be returned
PENDING RETRYING_UNTIL_EXPIRATION When a request errors out with GENERAL_FAILURE, we retry it until it succeeds or expires
FAILURE ACCOUNT_NOT_FOUND Credentials were valid, but no statements were found with the given account number
FAILURE CREDENTIALS_INVALID Confirmed login failure
FAILURE MISSING_REQUIRED_PARAMETER Additional parameters are required to complete the request. The supplied credentials most likely have extra security requiring password2
FAILURE MISSING_REQUIRED_DATA The utility company failed to provide critical data for this account
FAILURE MULTI_FACTOR_AUTH_FAILURE Confirmed login failure due to unsupported multi factor authentication
FAILURE UNSUPPORTED_ACCOUNT_PREPAID Account not supported due to prepaid status
FAILURE UNSUPPORTED_CAPTCHA We encountered an unsupported captcha
FAILURE USER_ACTION_REQUIRED Some form of input is required that Urjanet cannot perform on behalf of the owner
FAILURE WEBSITE_DOWN The website is currently down for maintenance. The customer can resubmit the job at a later time when the website is up.
FAILURE LIMITED_ACCESS Credentials were valid, but user does not have access to billing data
FAILURE GENERAL_FAILURE Covers all other failures than those described above
TIMEOUT null Request did not complete within the given timeout
CANCELLED null Request was successfully submitted but later cancelled by the user

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Authentication

Users must be authenticated before they can interact with the Urjanet API.

Authentication is performed by submitting your credentials via an HTTP POST request to the login endpoint. This returns a JWT-encoded bearer token, which you then submit in the header of any subsequent request.

All requests must be made over HTTPS.

Login

Code samples

# You can also use wget
curl -X POST https://api.urjanet.com/auth/login \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.urjanet.com/auth/login HTTP/1.1
Host: api.urjanet.com
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/auth/login',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "username": "string",
  "password": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/auth/login',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.urjanet.com/auth/login',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.urjanet.com/auth/login', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/auth/login");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.urjanet.com/auth/login", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /auth/login

Exchange username and password for a JWT token

Body parameter

{
  "username": "string",
  "password": "string"
}

Parameters

Parameter In Type Required Description
username body string false Your username to access Urjanet services
password body string false Your password to access Urjanet services

Example responses

200 Response

{
  "expires": "string",
  "message": "string",
  "status": 0,
  "token": "string",
  "refreshToken": "string",
  "scope": "OFFLINE"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK AuthUserResponse
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse

Refresh Token

Code samples

# You can also use wget
curl -X POST https://api.urjanet.com/auth/refresh \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.urjanet.com/auth/refresh HTTP/1.1
Host: api.urjanet.com
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/auth/refresh',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "token": "string",
  "refreshToken": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/auth/refresh',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.urjanet.com/auth/refresh',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.urjanet.com/auth/refresh', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/auth/refresh");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.urjanet.com/auth/refresh", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /auth/refresh

Refresh your authentication token

Body parameter

{
  "token": "string",
  "refreshToken": "string"
}

Parameters

Parameter In Type Required Description
token body string false The bearer token to pass along with requests to Urjanet services
refreshToken body string false A separate token to pass along with requests to refresh the bearer token

Example responses

200 Response

{
  "expires": "string",
  "message": "string",
  "status": 0,
  "token": "string",
  "refreshToken": "string",
  "scope": "OFFLINE"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK AuthUserResponse
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse

Credit and Lending

The Credit & Lending API is designed to leverage utility data for credit risk assessment. The data Urjanet collects is formatted here to show the full transaction history for a given customer.

List Providers

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/credit/providers \
  -H 'Accept: application/hal+json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/credit/providers HTTP/1.1
Host: api.urjanet.com

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/credit/providers',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/credit/providers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/credit/providers',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/credit/providers', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/credit/providers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/credit/providers", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /credit/providers

Search for a list of utility providers

Providers are the utility companies that Urjanet supports. You will query the list for your end users or select a specific provider to submit a data request.

Parameters

Parameter In Type Required Description
search query string false An RSQL query string. See here for examples. Searchable fields are listed here.

Example responses

200 Response

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "providerName": "string",
      "requiredFields": [
        "string"
      ],
      "supportsCredentialValidation": true,
      "country": "string",
      "enabledSolutions": [
        "CREDIT"
      ],
      "serviceTypes": [
        "string"
      ],
      "providerId": "string",
      "website": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedPublicProviderResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Retrieve Provider

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/credit/providers/{providerId} \
  -H 'Accept: application/hal+json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/credit/providers/{providerId} HTTP/1.1
Host: api.urjanet.com

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/credit/providers/{providerId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/credit/providers/{providerId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/credit/providers/{providerId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/credit/providers/{providerId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/credit/providers/{providerId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/credit/providers/{providerId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /credit/providers/{providerId}

Retrieve the details of a specific provider

Parameters

Parameter In Type Required Description
providerId path string true providerId

Example responses

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "providerName": "string",
  "requiredFields": [
    "string"
  ],
  "supportsCredentialValidation": true,
  "country": "string",
  "enabledSolutions": [
    "CREDIT"
  ],
  "serviceTypes": [
    "string"
  ],
  "providerId": "string",
  "website": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PublicProviderResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Submit Request

Code samples

# You can also use wget
curl -X POST https://api.urjanet.com/credit/requests \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.urjanet.com/credit/requests HTTP/1.1
Host: api.urjanet.com
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/credit/requests',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "accountNumber": "string",
  "webhookUrl": "string",
  "correlationId": "string",
  "password": "string",
  "password2": "string",
  "password3": "string",
  "password4": "string",
  "periodEnd": "string",
  "periodStart": "string",
  "providerId": "string",
  "timeout": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/credit/requests',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.urjanet.com/credit/requests',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.urjanet.com/credit/requests', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/credit/requests");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.urjanet.com/credit/requests", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /credit/requests

Create credit request

To pull utility data for a customer you submit a data request object. After submitting a data request, Urjanet will work on the request in the background. Updates to the data request will be reflected in the completionStatus.

Body parameter

{
  "accountNumber": "string",
  "webhookUrl": "string",
  "correlationId": "string",
  "password": "string",
  "password2": "string",
  "password3": "string",
  "password4": "string",
  "periodEnd": "string",
  "periodStart": "string",
  "providerId": "string",
  "timeout": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}

Parameters

Parameter In Type Required Description
accountNumber body string false If provided, only data for this account will be extracted
webhookUrl body string false Urjanet will send status updates to this URL via HTTP events
correlationId body string false An ID used to match the utility data pulled for this request back to users in your system
password body string false A sensitive input required to access the customer's utility data. This will not be returned in any GET calls for the request object.
password2 body string false Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.
password3 body string false See password2
password4 body string false See password2
periodEnd body string false End date of statements to include; formatted YYYY-MM-DD
periodStart body string false Start date of statements to include; formatted YYYY-MM-DD
providerId body string true The primary key used to represent this provider
timeout body integer(int32) false The length of time, in seconds, which Urjanet will continue to fulfill this request
username body string true A login input required to access the customer's utility data
username2 body string false Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider
username3 body string false See username2
username4 body string false See username2

Example responses

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "SUCCESS",
  "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
  "correlationId": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "expirationDate": "2018-10-19T20:14:32Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string",
  "periodEnd": "string",
  "periodStart": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PublicCreditRequestResource
201 Created Created None
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

List Requests

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/credit/requests \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/credit/requests HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/credit/requests',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/credit/requests',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/credit/requests',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/credit/requests', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/credit/requests");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/credit/requests", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /credit/requests

Search for a list of your previous submitted data requests

Click here for completion status details.

Parameters

Parameter In Type Required Description
search query string false An RSQL query string. See here for examples. Searchable fields are listed here.

Example responses

200 Response

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountNumber": "string",
      "providerId": "string",
      "providerName": "string",
      "webhookResult": 0,
      "webhookUrl": "string",
      "completionStatus": "SUCCESS",
      "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
      "correlationId": "string",
      "createdDate": "2018-10-19T20:14:32Z",
      "expirationDate": "2018-10-19T20:14:32Z",
      "statementCount": 0,
      "username": "string",
      "username2": "string",
      "username3": "string",
      "username4": "string",
      "periodEnd": "string",
      "periodStart": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedPublicCreditRequestResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Retrieve Request

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/credit/requests/{requestId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/credit/requests/{requestId} HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/credit/requests/{requestId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/credit/requests/{requestId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/credit/requests/{requestId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/credit/requests/{requestId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/credit/requests/{requestId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/credit/requests/{requestId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /credit/requests/{requestId}

Retrieve the details of a specific data request

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId

Example responses

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "SUCCESS",
  "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
  "correlationId": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "expirationDate": "2018-10-19T20:14:32Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string",
  "periodEnd": "string",
  "periodStart": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PublicCreditRequestResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Cancel Request

Code samples

# You can also use wget
curl -X PATCH https://api.urjanet.com/credit/requests/{requestId}/cancel \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://api.urjanet.com/credit/requests/{requestId}/cancel HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/credit/requests/{requestId}/cancel',
  method: 'patch',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/credit/requests/{requestId}/cancel',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://api.urjanet.com/credit/requests/{requestId}/cancel',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://api.urjanet.com/credit/requests/{requestId}/cancel', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/credit/requests/{requestId}/cancel");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://api.urjanet.com/credit/requests/{requestId}/cancel", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /credit/requests/{requestId}/cancel

Cancel a previously submitted data request

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId

Example responses

OK

{
  "_links": [
    {
      "href": "string",
      "rel": "string"
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "CANCELLED",
  "completionStatusDetail": null,
  "correlationId": "string",
  "createdDate": "2018-08-23T17:31:03Z",
  "expirationDate": "2018-08-23T17:31:03Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string",
  "periodEnd": "string",
  "periodStart": "string"
}

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "SUCCESS",
  "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
  "correlationId": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "expirationDate": "2018-10-19T20:14:32Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string",
  "periodEnd": "string",
  "periodStart": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PublicCreditRequestResource
204 No Content No Content None
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse

List Accounts

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/credit/requests/{requestId}/accounts \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/credit/requests/{requestId}/accounts HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/credit/requests/{requestId}/accounts',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/credit/requests/{requestId}/accounts',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/credit/requests/{requestId}/accounts',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/credit/requests/{requestId}/accounts', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/credit/requests/{requestId}/accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/credit/requests/{requestId}/accounts", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /credit/requests/{requestId}/accounts

Get a list of the account objects returned as part of a data request

An account is a single line of activity for a customer. Each data request can return one or many accounts.

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId

Example responses

200 Response

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountNumber": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedAccountResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Retrieve Account

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId} HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /credit/requests/{requestId}/accounts/{accountId}

Retrieve a single account object returned as part of a data request

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId
accountId path integer(int64) true accountId

Example responses

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK AccountResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

List Statements

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /credit/requests/{requestId}/accounts/{accountId}/statements

Get a list of the statement objects returned as part of a data request

A statement is a unique invoice for a particular account. It represents the account's activity over a specific period of time. A data request may return one or many monthly statements depending on the submitted start/end dates and the amount of data made available by the utility provider.

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId
accountId path integer(int64) true accountId

Example responses

200 Response

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountNumber": "string",
      "billingAddressCity": "string",
      "billingAddressCountry": "string",
      "billingAddressName": "string",
      "billingAddressPostalCode": "string",
      "billingAddressRaw": "string",
      "billingAddressState": "string",
      "billingAddressStreet1": "string",
      "billingAddressStreet2": "string",
      "serviceAddressCity": "string",
      "serviceAddressCountry": "string",
      "serviceAddressName": "string",
      "serviceAddressPostalCode": "string",
      "serviceAddressRaw": "string",
      "serviceAddressState": "string",
      "serviceAddressStreet1": "string",
      "serviceAddressStreet2": "string",
      "currency": "string",
      "totalBill": 0,
      "balanceAdjustments": 0,
      "dueDate": "string",
      "statementDate": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedCreditStatementResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Retrieve Statement Source

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source \
  -H 'Accept: */*' \
  -H 'Authorization: string'

GET https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source HTTP/1.1
Host: api.urjanet.com

Accept: */*
Authorization: string

var headers = {
  'Accept':'*/*',
  'Authorization':'string'

};

$.ajax({
  url: 'https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'*/*',
  'Authorization':'string'

};

fetch('https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => '*/*',
  'Authorization' => 'string'
}

result = RestClient.get 'https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': '*/*',
  'Authorization': 'string'
}

r = requests.get('https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"*/*"},
        "Authorization": []string{"string"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /credit/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source

Get the source document for a specific statement. This is usually a PDF version of the actual bill.

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId
accountId path integer(int64) true accountId
statementId path integer(int64) true statementId
Authorization header string false none

Example responses

401 Response

Responses

Status Meaning Description Schema
200 OK OK None
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Response Headers

Status Header Type Format Description
200 Access-Control-Allow-Headers string none
200 Access-Control-Allow-Methods string none
200 Access-Control-Allow-Origin string none

List Payments

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /credit/requests/{requestId}/accounts/{accountId}/payments

Get a list of the payment objects returned as part of a data request

A payment is a transaction made by the account holder to decrease the balance of the account. A data request may return one or many payments for each account.

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId
accountId path integer(int64) true accountId

Example responses

200 Response

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "amount": 0,
      "paymentDate": "string",
      "currency": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedCreditPaymentResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Retrieve Payment Source

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments/{paymentId}/source \
  -H 'Accept: */*' \
  -H 'Authorization: string'

GET https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments/{paymentId}/source HTTP/1.1
Host: api.urjanet.com

Accept: */*
Authorization: string

var headers = {
  'Accept':'*/*',
  'Authorization':'string'

};

$.ajax({
  url: 'https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments/{paymentId}/source',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'*/*',
  'Authorization':'string'

};

fetch('https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments/{paymentId}/source',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => '*/*',
  'Authorization' => 'string'
}

result = RestClient.get 'https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments/{paymentId}/source',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': '*/*',
  'Authorization': 'string'
}

r = requests.get('https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments/{paymentId}/source', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments/{paymentId}/source");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"*/*"},
        "Authorization": []string{"string"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/credit/requests/{requestId}/accounts/{accountId}/payments/{paymentId}/source", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /credit/requests/{requestId}/accounts/{accountId}/payments/{paymentId}/source

Get the source document showing the details of a specific payment

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId
accountId path integer(int64) true accountId
paymentId path integer(int64) true paymentId
Authorization header string false none

Example responses

401 Response

Responses

Status Meaning Description Schema
200 OK OK None
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Response Headers

Status Header Type Format Description
200 Access-Control-Allow-Headers string none
200 Access-Control-Allow-Methods string none
200 Access-Control-Allow-Origin string none

Solar

The Solar API enables accurate system sizing and ROI calculations for prospective solar buyers. Data returned here provides a full historical view of a customer's monthly usage and cost.

List Providers

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/solar/providers \
  -H 'Accept: application/hal+json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/solar/providers HTTP/1.1
Host: api.urjanet.com

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/solar/providers',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/solar/providers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/solar/providers',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/solar/providers', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/solar/providers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/solar/providers", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /solar/providers

Search for a list of utility providers

Providers are the utility companies that Urjanet supports. You will query the list for your end users or select a specific provider to submit a data request.

Parameters

Parameter In Type Required Description
search query string false An RSQL query string. See here for examples. Searchable fields are listed here.

Example responses

200 Response

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "providerName": "string",
      "requiredFields": [
        "string"
      ],
      "supportsCredentialValidation": true,
      "country": "string",
      "enabledSolutions": [
        "CREDIT"
      ],
      "serviceTypes": [
        "string"
      ],
      "providerId": "string",
      "website": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedPublicProviderResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Retrieve Provider

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/solar/providers/{providerId} \
  -H 'Accept: application/hal+json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/solar/providers/{providerId} HTTP/1.1
Host: api.urjanet.com

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/solar/providers/{providerId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/solar/providers/{providerId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/solar/providers/{providerId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/solar/providers/{providerId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/solar/providers/{providerId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/solar/providers/{providerId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /solar/providers/{providerId}

Retrieve the details of a single provider

Parameters

Parameter In Type Required Description
providerId path string true providerId

Example responses

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "providerName": "string",
  "requiredFields": [
    "string"
  ],
  "supportsCredentialValidation": true,
  "country": "string",
  "enabledSolutions": [
    "CREDIT"
  ],
  "serviceTypes": [
    "string"
  ],
  "providerId": "string",
  "website": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PublicProviderResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Submit Request

Code samples

# You can also use wget
curl -X POST https://api.urjanet.com/solar/requests \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.urjanet.com/solar/requests HTTP/1.1
Host: api.urjanet.com
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/solar/requests',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "accountNumber": "string",
  "webhookUrl": "string",
  "correlationId": "string",
  "password": "string",
  "password2": "string",
  "password3": "string",
  "password4": "string",
  "periodEnd": "string",
  "periodStart": "string",
  "providerId": "string",
  "timeout": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/solar/requests',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.urjanet.com/solar/requests',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.urjanet.com/solar/requests', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/solar/requests");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.urjanet.com/solar/requests", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /solar/requests

Create solar request

To pull utility data for a customer you submit a data request object. After submitting a data request, Urjanet will work on the request in the background. Updates to the data request will be reflected in the completionStatus.

Body parameter

{
  "accountNumber": "string",
  "webhookUrl": "string",
  "correlationId": "string",
  "password": "string",
  "password2": "string",
  "password3": "string",
  "password4": "string",
  "periodEnd": "string",
  "periodStart": "string",
  "providerId": "string",
  "timeout": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}

Parameters

Parameter In Type Required Description
accountNumber body string false If provided, only data for this account will be extracted
webhookUrl body string false Urjanet will send status updates to this URL via HTTP events. See here for more information.
correlationId body string false An ID used to match the utility data pulled for this request back to users in your system
password body string false A sensitive input required to access the customer's utility data. This will not be returned in any GET calls for the request object.
password2 body string false Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.
password3 body string false See password2
password4 body string false See password2
periodEnd body string false End date of statements to include; formatted YYYY-MM-DD
periodStart body string false Start date of statements to include; formatted YYYY-MM-DD
providerId body string true The primary key used to represent this provider
timeout body integer(int32) false The length of time, in seconds, which Urjanet will continue to fulfill this request
username body string true A login input required to access the customer's utility data
username2 body string false Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider
username3 body string false See username2
username4 body string false See username2

Example responses

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "SUCCESS",
  "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
  "correlationId": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "expirationDate": "2018-10-19T20:14:32Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string",
  "periodEnd": "string",
  "periodStart": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PublicSolarRequestResource
201 Created Created None
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

List Requests

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/solar/requests \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/solar/requests HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/solar/requests',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/solar/requests',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/solar/requests',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/solar/requests', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/solar/requests");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/solar/requests", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /solar/requests

Search for a list of your previous submitted data requests

Parameters

Parameter In Type Required Description
search query string false An RSQL query string. See here for examples. Searchable fields are listed here.

Example responses

200 Response

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountNumber": "string",
      "providerId": "string",
      "providerName": "string",
      "webhookResult": 0,
      "webhookUrl": "string",
      "completionStatus": "SUCCESS",
      "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
      "correlationId": "string",
      "createdDate": "2018-10-19T20:14:32Z",
      "expirationDate": "2018-10-19T20:14:32Z",
      "statementCount": 0,
      "username": "string",
      "username2": "string",
      "username3": "string",
      "username4": "string",
      "periodEnd": "string",
      "periodStart": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedPublicSolarRequestResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Cancel Solar Request

Code samples

# You can also use wget
curl -X PATCH https://api.urjanet.com/solar/requests/{requestId}/cancel \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://api.urjanet.com/solar/requests/{requestId}/cancel HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/solar/requests/{requestId}/cancel',
  method: 'patch',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/solar/requests/{requestId}/cancel',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://api.urjanet.com/solar/requests/{requestId}/cancel',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://api.urjanet.com/solar/requests/{requestId}/cancel', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/solar/requests/{requestId}/cancel");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://api.urjanet.com/solar/requests/{requestId}/cancel", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /solar/requests/{requestId}/cancel

Cancel a previously submitted data request

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId

Example responses

OK

{
  "_links": [
    {
      "href": "string",
      "rel": "string"
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "CANCELLED",
  "completionStatusDetail": null,
  "correlationId": "string",
  "createdDate": "2018-08-23T17:31:03Z",
  "expirationDate": "2018-08-23T17:31:03Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string",
  "periodEnd": "string",
  "periodStart": "string"
}

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "SUCCESS",
  "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
  "correlationId": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "expirationDate": "2018-10-19T20:14:32Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string",
  "periodEnd": "string",
  "periodStart": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PublicSolarRequestResource
204 No Content No Content None
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse

Retrieve Request

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/solar/requests/{requestId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/solar/requests/{requestId} HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/solar/requests/{requestId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/solar/requests/{requestId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/solar/requests/{requestId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/solar/requests/{requestId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/solar/requests/{requestId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/solar/requests/{requestId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /solar/requests/{requestId}

Retrieve the details of a specific data request

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId

Example responses

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "SUCCESS",
  "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
  "correlationId": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "expirationDate": "2018-10-19T20:14:32Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string",
  "periodEnd": "string",
  "periodStart": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PublicSolarRequestResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

List Accounts

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/solar/requests/{requestId}/accounts \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/solar/requests/{requestId}/accounts HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/solar/requests/{requestId}/accounts',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/solar/requests/{requestId}/accounts',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/solar/requests/{requestId}/accounts',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/solar/requests/{requestId}/accounts', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/solar/requests/{requestId}/accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/solar/requests/{requestId}/accounts", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /solar/requests/{requestId}/accounts

Get a list of the account objects returned as part of a data request

An account is a single line of activity for a customer. Each data request can return one or many accounts.

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId

Example responses

200 Response

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountNumber": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedAccountResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Retrieve Account

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId} HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /solar/requests/{requestId}/accounts/{accountId}

Retrieve a single account object returned as part of a data request

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId
accountId path integer(int64) true accountId

Example responses

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK AccountResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

List Statements

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /solar/requests/{requestId}/accounts/{accountId}/statements

Get a list of the statement objects returned as part of a data request

A statement is a unique invoice for a particular account. It represents the account's activity over a specific period of time. A data request may return one or many monthly statements depending on the submitted start/end dates and the amount of data made available by the utility provider.

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId
accountId path integer(int64) true accountId

Example responses

200 Response

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "billingAddressCity": "string",
      "billingAddressCountry": "string",
      "billingAddressName": "string",
      "billingAddressPostalCode": "string",
      "billingAddressRaw": "string",
      "billingAddressState": "string",
      "billingAddressStreet1": "string",
      "billingAddressStreet2": "string",
      "currency": "string",
      "totalBill": 0,
      "electricCost": 0,
      "consumption": 0,
      "demand": 0,
      "tariff": "string",
      "statementMessages": "string",
      "statementIntervalStart": "string",
      "statementIntervalEnd": "string",
      "usageIntervalStart": "string",
      "usageIntervalEnd": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedSolarStatementResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Retrieve Statement Source

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source \
  -H 'Accept: */*' \
  -H 'Authorization: string'

GET https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source HTTP/1.1
Host: api.urjanet.com

Accept: */*
Authorization: string

var headers = {
  'Accept':'*/*',
  'Authorization':'string'

};

$.ajax({
  url: 'https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'*/*',
  'Authorization':'string'

};

fetch('https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => '*/*',
  'Authorization' => 'string'
}

result = RestClient.get 'https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': '*/*',
  'Authorization': 'string'
}

r = requests.get('https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"*/*"},
        "Authorization": []string{"string"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/solar/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /solar/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source

Get the source document for a specific statement. This is usually a PDF version of the actual bill.

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId
accountId path integer(int64) true accountId
statementId path integer(int64) true statementId
Authorization header string false none

Example responses

401 Response

Responses

Status Meaning Description Schema
200 OK OK None
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Response Headers

Status Header Type Format Description
200 Access-Control-Allow-Headers string none
200 Access-Control-Allow-Methods string none
200 Access-Control-Allow-Origin string none

Identity Verification

The Identity API provides utility data for address verification. Data requests made here will return name and address data for the most recent utility bill.

List Providers

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/identity/providers \
  -H 'Accept: application/hal+json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/identity/providers HTTP/1.1
Host: api.urjanet.com

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/identity/providers',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/identity/providers',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/identity/providers',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/identity/providers', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/identity/providers");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/identity/providers", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /identity/providers

Search for a list of utility providers

Providers are the utility companies that Urjanet supports. You will query the list for your end users or select a specific provider to submit a data request.

Parameters

Parameter In Type Required Description
search query string false An RSQL query string. See here for examples. Searchable fields are listed here.

Example responses

200 Response

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "providerName": "string",
      "requiredFields": [
        "string"
      ],
      "supportsCredentialValidation": true,
      "country": "string",
      "enabledSolutions": [
        "CREDIT"
      ],
      "serviceTypes": [
        "string"
      ],
      "providerId": "string",
      "website": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedPublicProviderResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Retrieve Provider

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/identity/providers/{providerId} \
  -H 'Accept: application/hal+json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/identity/providers/{providerId} HTTP/1.1
Host: api.urjanet.com

Accept: application/hal+json

var headers = {
  'Accept':'application/hal+json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/identity/providers/{providerId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/identity/providers/{providerId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/identity/providers/{providerId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/identity/providers/{providerId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/identity/providers/{providerId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/identity/providers/{providerId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /identity/providers/{providerId}

Retrieve the details of a single provider

Parameters

Parameter In Type Required Description
providerId path string true providerId

Example responses

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "providerName": "string",
  "requiredFields": [
    "string"
  ],
  "supportsCredentialValidation": true,
  "country": "string",
  "enabledSolutions": [
    "CREDIT"
  ],
  "serviceTypes": [
    "string"
  ],
  "providerId": "string",
  "website": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PublicProviderResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Submit Request

Code samples

# You can also use wget
curl -X POST https://api.urjanet.com/identity/requests \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.urjanet.com/identity/requests HTTP/1.1
Host: api.urjanet.com
Content-Type: application/json
Accept: application/json

var headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/identity/requests',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "accountNumber": "string",
  "webhookUrl": "string",
  "correlationId": "string",
  "password": "string",
  "password2": "string",
  "password3": "string",
  "password4": "string",
  "providerId": "string",
  "timeout": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/identity/requests',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.urjanet.com/identity/requests',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.urjanet.com/identity/requests', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/identity/requests");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.urjanet.com/identity/requests", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /identity/requests

Create identity request

To pull utility data for a customer you submit a data request object. After submitting a data request, Urjanet will work on the request in the background. Updates to the data request will be reflected in the completionStatus.

Body parameter

{
  "accountNumber": "string",
  "webhookUrl": "string",
  "correlationId": "string",
  "password": "string",
  "password2": "string",
  "password3": "string",
  "password4": "string",
  "providerId": "string",
  "timeout": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}

Parameters

Parameter In Type Required Description
accountNumber body string false If provided, only data for this account will be extracted
webhookUrl body string false Urjanet will send status updates to this URL via HTTP events. See here for more information.
correlationId body string false An ID used to match the utility data pulled for this request back to users in your system
password body string false A sensitive input required to access the customer's utility data. This will not be returned in any GET calls for the request object.
password2 body string false Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.
password3 body string false See password2
password4 body string false See password2
providerId body string true The primary key used to represent this provider
timeout body integer(int32) false The length of time, in seconds, which Urjanet will continue to fulfill this request
username body string true A login input required to access the customer's utility data
username2 body string false Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider
username3 body string false See username2
username4 body string false See username2

Example responses

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "SUCCESS",
  "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
  "correlationId": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "expirationDate": "2018-10-19T20:14:32Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PublicIdentityRequestResource
201 Created Created None
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

List Requests

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/identity/requests \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/identity/requests HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/identity/requests',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/identity/requests',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/identity/requests',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/identity/requests', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/identity/requests");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/identity/requests", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /identity/requests

Search for a list of your previous submitted data requests

Parameters

Parameter In Type Required Description
search query string false An RSQL query string. See here for examples. Searchable fields are listed here.

Example responses

200 Response

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountNumber": "string",
      "providerId": "string",
      "providerName": "string",
      "webhookResult": 0,
      "webhookUrl": "string",
      "completionStatus": "SUCCESS",
      "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
      "correlationId": "string",
      "createdDate": "2018-10-19T20:14:32Z",
      "expirationDate": "2018-10-19T20:14:32Z",
      "statementCount": 0,
      "username": "string",
      "username2": "string",
      "username3": "string",
      "username4": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedPublicIdentityRequestResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Cancel Identity Request

Code samples

# You can also use wget
curl -X PATCH https://api.urjanet.com/identity/requests/{requestId}/cancel \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://api.urjanet.com/identity/requests/{requestId}/cancel HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/identity/requests/{requestId}/cancel',
  method: 'patch',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/identity/requests/{requestId}/cancel',
{
  method: 'PATCH',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://api.urjanet.com/identity/requests/{requestId}/cancel',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://api.urjanet.com/identity/requests/{requestId}/cancel', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/identity/requests/{requestId}/cancel");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://api.urjanet.com/identity/requests/{requestId}/cancel", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /identity/requests/{requestId}/cancel

Cancel a previously submitted data request

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId

Example responses

OK

{
  "_links": [
    {
      "href": "string",
      "rel": "string"
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "CANCELLED",
  "completionStatusDetail": null,
  "correlationId": "string",
  "createdDate": "2018-08-23T17:31:03Z",
  "expirationDate": "2018-08-23T17:31:03Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "SUCCESS",
  "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
  "correlationId": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "expirationDate": "2018-10-19T20:14:32Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PublicIdentityRequestResource
204 No Content No Content None
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse

Retrieve Request

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/identity/requests/{requestId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/identity/requests/{requestId} HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/identity/requests/{requestId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/identity/requests/{requestId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/identity/requests/{requestId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/identity/requests/{requestId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/identity/requests/{requestId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/identity/requests/{requestId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /identity/requests/{requestId}

Retrieve the details of a specific data request

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId

Example responses

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "SUCCESS",
  "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
  "correlationId": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "expirationDate": "2018-10-19T20:14:32Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PublicIdentityRequestResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

List Accounts

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/identity/requests/{requestId}/accounts \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/identity/requests/{requestId}/accounts HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/identity/requests/{requestId}/accounts',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/identity/requests/{requestId}/accounts',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/identity/requests/{requestId}/accounts',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/identity/requests/{requestId}/accounts', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/identity/requests/{requestId}/accounts");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/identity/requests/{requestId}/accounts", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /identity/requests/{requestId}/accounts

Get a list of the account objects returned as part of a data request

An account is a single line of activity for a customer. Each data request can return one or many accounts.

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId

Example responses

200 Response

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountNumber": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedAccountResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Retrieve Account

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId} HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /identity/requests/{requestId}/accounts/{accountId}

Retrieve a single account object returned as part of a data request

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId
accountId path integer(int64) true accountId

Example responses

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK AccountResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

List Statements

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /identity/requests/{requestId}/accounts/{accountId}/statements

Get a list of the statement objects returned as part of a data request

A statement is a unique invoice for a particular account. It represents the account's activity over a specific period of time. A data request may return one or many monthly statements depending on the submitted start/end dates and the amount of data made available by the utility provider.

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId
accountId path integer(int64) true accountId

Example responses

200 Response

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "billingAddressCity": "string",
      "billingAddressCountry": "string",
      "billingAddressName": "string",
      "billingAddressPostalCode": "string",
      "billingAddressRaw": "string",
      "billingAddressState": "string",
      "billingAddressStreet1": "string",
      "billingAddressStreet2": "string",
      "serviceAddressCity": "string",
      "serviceAddressCountry": "string",
      "serviceAddressName": "string",
      "serviceAddressPostalCode": "string",
      "serviceAddressRaw": "string",
      "serviceAddressState": "string",
      "serviceAddressStreet1": "string",
      "serviceAddressStreet2": "string",
      "statementDate": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedIdentityStatementResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Retrieve Statement Source

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source \
  -H 'Accept: */*' \
  -H 'Authorization: string'

GET https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source HTTP/1.1
Host: api.urjanet.com

Accept: */*
Authorization: string

var headers = {
  'Accept':'*/*',
  'Authorization':'string'

};

$.ajax({
  url: 'https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'*/*',
  'Authorization':'string'

};

fetch('https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => '*/*',
  'Authorization' => 'string'
}

result = RestClient.get 'https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': '*/*',
  'Authorization': 'string'
}

r = requests.get('https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"*/*"},
        "Authorization": []string{"string"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/identity/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /identity/requests/{requestId}/accounts/{accountId}/statements/{statementId}/source

Get the source document for a specific statement. This is usually a PDF version of the actual bill.

Parameters

Parameter In Type Required Description
requestId path integer(int64) true requestId
accountId path integer(int64) true accountId
statementId path integer(int64) true statementId
Authorization header string false none

Example responses

401 Response

Responses

Status Meaning Description Schema
200 OK OK None
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Response Headers

Status Header Type Format Description
200 Access-Control-Allow-Headers string none
200 Access-Control-Allow-Methods string none
200 Access-Control-Allow-Origin string none

User Management

Get Current Organization

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/currentOrganization \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/currentOrganization HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/currentOrganization',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/currentOrganization',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/currentOrganization',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/currentOrganization', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/currentOrganization");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/currentOrganization", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /currentOrganization

Get your current organization

Example responses

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "allowedEmailDomains": "string",
  "createdBy": "string",
  "defaultWebhookUrl": "string",
  "defaultTimeout": "string",
  "defaultDataCapturePeriodMonths": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "lastModifiedBy": "string",
  "lastModifiedDate": "2018-10-19T20:14:32Z",
  "name": "string",
  "privacyPolicy": "string",
  "publicKey": "string",
  "sourceToken": "string",
  "termsOfService": "string",
  "uniqueId": "string",
  "useSourceToken": true
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK CurrentOrganizationResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Update Current Organization

Code samples

# You can also use wget
curl -X PATCH https://api.urjanet.com/currentOrganization \
  -H 'Content-Type: application/json' \
  -H 'Accept: */*' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://api.urjanet.com/currentOrganization HTTP/1.1
Host: api.urjanet.com
Content-Type: application/json
Accept: */*

var headers = {
  'Content-Type':'application/json',
  'Accept':'*/*',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/currentOrganization',
  method: 'patch',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "allowedEmailDomains": "string",
  "name": "string",
  "privacyPolicy": "string",
  "publicKey": "string",
  "termsOfService": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'*/*',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/currentOrganization',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => '*/*',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://api.urjanet.com/currentOrganization',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': '*/*',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://api.urjanet.com/currentOrganization', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/currentOrganization");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"*/*"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://api.urjanet.com/currentOrganization", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /currentOrganization

Update your current organization

Body parameter

{
  "allowedEmailDomains": "string",
  "name": "string",
  "privacyPolicy": "string",
  "publicKey": "string",
  "termsOfService": "string"
}

Parameters

Parameter In Type Required Description
allowedEmailDomains body string false Comma-separated list of allowed e-mail domains for users within this organization
name body string true Name of this organization
privacyPolicy body string false A URL for your company's privacy policy. This will be linked in the Urjanet Connect UI
publicKey body string false N/A
termsOfService body string false A URL for your company's terms of service. This will be linked in the Urjanet Connect UI

Example responses

401 Response

Responses

Status Meaning Description Schema
200 OK OK None
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Get Current User

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/currentUser \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/currentUser HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/currentUser',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/currentUser',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/currentUser',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/currentUser', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/currentUser");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/currentUser", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /currentUser

Get current user detail

Example responses

200 Response

{
  "_embedded": {},
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "email": "string",
  "externalSource": "string",
  "name": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK CurrentUserResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Update Password

Code samples

# You can also use wget
curl -X PUT https://api.urjanet.com/currentUser/password \
  -H 'Content-Type: application/json' \
  -H 'Accept: */*' \
  -H 'Authorization: Bearer {access-token}'

PUT https://api.urjanet.com/currentUser/password HTTP/1.1
Host: api.urjanet.com
Content-Type: application/json
Accept: */*

var headers = {
  'Content-Type':'application/json',
  'Accept':'*/*',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/currentUser/password',
  method: 'put',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "currentPassword": "string",
  "email": "string",
  "name": "string",
  "password": "string",
  "passwordConfirm": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'*/*',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/currentUser/password',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => '*/*',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.put 'https://api.urjanet.com/currentUser/password',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': '*/*',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('https://api.urjanet.com/currentUser/password', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/currentUser/password");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"*/*"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://api.urjanet.com/currentUser/password", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /currentUser/password

Update current user's password

Body parameter

{
  "currentPassword": "string",
  "email": "string",
  "name": "string",
  "password": "string",
  "passwordConfirm": "string"
}

Parameters

Parameter In Type Required Description
currentPassword body string false Your current password used to access Urjanet
email body string true Your current e-mail address associated with Urjanet
name body string true Your current name
password body string false Your desired password used to access Urjanet
passwordConfirm body string false Confirm your current password used to access Urjanet

Example responses

401 Response

Responses

Status Meaning Description Schema
204 No Content OK None
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Update User Profile

Code samples

# You can also use wget
curl -X PUT https://api.urjanet.com/currentUser/profile \
  -H 'Content-Type: application/json' \
  -H 'Accept: */*' \
  -H 'Authorization: Bearer {access-token}'

PUT https://api.urjanet.com/currentUser/profile HTTP/1.1
Host: api.urjanet.com
Content-Type: application/json
Accept: */*

var headers = {
  'Content-Type':'application/json',
  'Accept':'*/*',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/currentUser/profile',
  method: 'put',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "currentPassword": "string",
  "email": "string",
  "name": "string",
  "password": "string",
  "passwordConfirm": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'*/*',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/currentUser/profile',
{
  method: 'PUT',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => '*/*',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.put 'https://api.urjanet.com/currentUser/profile',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': '*/*',
  'Authorization': 'Bearer {access-token}'
}

r = requests.put('https://api.urjanet.com/currentUser/profile', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/currentUser/profile");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PUT");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"*/*"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PUT", "https://api.urjanet.com/currentUser/profile", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PUT /currentUser/profile

Update the current user's profile attributes

Body parameter

{
  "currentPassword": "string",
  "email": "string",
  "name": "string",
  "password": "string",
  "passwordConfirm": "string"
}

Parameters

Parameter In Type Required Description
currentPassword body string false Your current password used to access Urjanet
email body string true Your current e-mail address associated with Urjanet
name body string true Your current name
password body string false Your desired password used to access Urjanet
passwordConfirm body string false Confirm your current password used to access Urjanet

Example responses

401 Response

Responses

Status Meaning Description Schema
204 No Content OK None
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

List Roles

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/roles \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/roles HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/roles',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/roles',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/roles',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/roles', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/roles");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/roles", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /roles

Get a list of the Roles

Example responses

200 Response

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "createdBy": "string",
      "createdDate": "2018-10-19T20:14:32Z",
      "lastModifiedBy": "string",
      "lastModifiedDate": "2018-10-19T20:14:32Z",
      "name": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedPublicRoleResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Get Role

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/roles/{roleId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/roles/{roleId} HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/roles/{roleId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/roles/{roleId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/roles/{roleId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/roles/{roleId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/roles/{roleId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/roles/{roleId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /roles/{roleId}

Get a specific Role

Parameters

Parameter In Type Required Description
roleId path integer(int64) true roleId

Example responses

200 Response

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "createdBy": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "lastModifiedBy": "string",
  "lastModifiedDate": "2018-10-19T20:14:32Z",
  "name": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PublicRoleResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

List Users

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/users \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/users HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/users',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/users',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/users',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/users', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/users");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/users", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /users

Get a list of Users in the current User's Organization

Example responses

200 Response

{
  "_embedded": [
    {
      "_embedded": {},
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountEnabled": true,
      "createdBy": "string",
      "createdDate": "2018-10-19T20:14:32Z",
      "credentialsExpired": true,
      "email": "string",
      "externalSource": "string",
      "lastModifiedBy": "string",
      "lastModifiedDate": "2018-10-19T20:14:32Z",
      "name": "string",
      "username": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PagedPublicUserResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Create User

Code samples

# You can also use wget
curl -X POST https://api.urjanet.com/users \
  -H 'Content-Type: application/json' \
  -H 'Accept: */*' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.urjanet.com/users HTTP/1.1
Host: api.urjanet.com
Content-Type: application/json
Accept: */*

var headers = {
  'Content-Type':'application/json',
  'Accept':'*/*',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/users',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "accountEnabled": true,
  "autoGeneratePassword": true,
  "credentialsExpired": true,
  "email": "string",
  "name": "string",
  "password": "stringst",
  "passwordConfirm": "string",
  "roles": [
    "string"
  ],
  "username": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'*/*',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/users',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => '*/*',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.urjanet.com/users',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': '*/*',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.urjanet.com/users', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/users");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"*/*"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.urjanet.com/users", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /users

Create a User in the current User's Organization

Body parameter

{
  "accountEnabled": true,
  "autoGeneratePassword": true,
  "credentialsExpired": true,
  "email": "string",
  "name": "string",
  "password": "stringst",
  "passwordConfirm": "string",
  "roles": [
    "string"
  ],
  "username": "string"
}

Parameters

Parameter In Type Required Description
accountEnabled body boolean true Indicates whether this user's account is enabled
autoGeneratePassword body boolean false If true, password will be automatically set and user will have to reset it using associated e-mail address
credentialsExpired body boolean true If true, this user needs to rotate their password
email body string true E-mail address to associate with this user
name body string true Name of this user
password body string false Password used to authenticate with Urjanet
passwordConfirm body string false Confirm password used to authentica with Urjanet
roles body [string] false List of role names to assign to this user
username body string true Username used to authenticate with Urjanet; cannot contain spaces

Example responses

401 Response

Responses

Status Meaning Description Schema
200 OK OK None
201 Created Created None
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Get User

Code samples

# You can also use wget
curl -X GET https://api.urjanet.com/users/{userId} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.urjanet.com/users/{userId} HTTP/1.1
Host: api.urjanet.com

Accept: application/json

var headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/users/{userId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/users/{userId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.urjanet.com/users/{userId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.urjanet.com/users/{userId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/users/{userId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.urjanet.com/users/{userId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /users/{userId}

Get a specific User in the current User's Organization

Parameters

Parameter In Type Required Description
userId path integer(int64) true userId

Example responses

200 Response

{
  "_embedded": {},
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountEnabled": true,
  "createdBy": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "credentialsExpired": true,
  "email": "string",
  "externalSource": "string",
  "lastModifiedBy": "string",
  "lastModifiedDate": "2018-10-19T20:14:32Z",
  "name": "string",
  "username": "string"
}

401 Response

Responses

Status Meaning Description Schema
200 OK OK PublicUserResource
401 Unauthorized Unauthorized ErrorResponse
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Update User

Code samples

# You can also use wget
curl -X PATCH https://api.urjanet.com/users/{userId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: */*' \
  -H 'Authorization: Bearer {access-token}'

PATCH https://api.urjanet.com/users/{userId} HTTP/1.1
Host: api.urjanet.com
Content-Type: application/json
Accept: */*

var headers = {
  'Content-Type':'application/json',
  'Accept':'*/*',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.urjanet.com/users/{userId}',
  method: 'patch',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

const fetch = require('node-fetch');
const inputBody = '{
  "accountEnabled": true,
  "autoGeneratePassword": true,
  "credentialsExpired": true,
  "email": "string",
  "name": "string",
  "password": "stringst",
  "passwordConfirm": "string",
  "roles": [
    "string"
  ],
  "username": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'*/*',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.urjanet.com/users/{userId}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => '*/*',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.patch 'https://api.urjanet.com/users/{userId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': '*/*',
  'Authorization': 'Bearer {access-token}'
}

r = requests.patch('https://api.urjanet.com/users/{userId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.urjanet.com/users/{userId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"*/*"},
        "Authorization": []string{"Bearer {access-token}"},

    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://api.urjanet.com/users/{userId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /users/{userId}

Update a User in the current User's Organization

Body parameter

{
  "accountEnabled": true,
  "autoGeneratePassword": true,
  "credentialsExpired": true,
  "email": "string",
  "name": "string",
  "password": "stringst",
  "passwordConfirm": "string",
  "roles": [
    "string"
  ],
  "username": "string"
}

Parameters

Parameter In Type Required Description
userId path integer(int64) true userId
accountEnabled body boolean true Indicates whether this user's account is enabled
autoGeneratePassword body boolean false If true, password will be automatically set and user will have to reset it using associated e-mail address
credentialsExpired body boolean true If true, this user needs to rotate their password
email body string true E-mail address to associate with this user
name body string true Name of this user
password body string false Password used to authenticate with Urjanet
passwordConfirm body string false Confirm password used to authentica with Urjanet
roles body [string] false List of role names to assign to this user
username body string true Username used to authenticate with Urjanet; cannot contain spaces

Example responses

403 Response

Responses

Status Meaning Description Schema
200 OK OK None
204 No Content No Content None
403 Forbidden Forbidden ErrorResponse
404 Not Found NotFound ErrorResponse

Schemas

ErrorResponse

{
  "message": "string",
  "error": "string",
  "exception": "string",
  "path": "string",
  "timestamp": null,
  "status": 0
}

Properties

Name Type Required Description
message string false none
error string false none
exception string false none
path string false none
timestamp date-time false none
status integer false none

{
  "href": "string",
  "rel": "string",
  "templated": true
}

Link

Properties

Name Type Required Description
href string false none
rel string false none
templated boolean false none

PageMetadata

{
  "number": 0,
  "size": 0,
  "totalElements": 0,
  "totalPages": 0
}

PageMetadata

Properties

Name Type Required Description
number integer(int64) false none
size integer(int64) false none
totalElements integer(int64) false none
totalPages integer(int64) false none

AuthUserRequest

{
  "username": "string",
  "password": "string"
}

Properties

Name Type Required Description
username string false Your username to access Urjanet services
password string false Your password to access Urjanet services

AuthRefreshRequest

{
  "token": "string",
  "refreshToken": "string"
}

Properties

Name Type Required Description
token string false The bearer token to pass along with requests to Urjanet services
refreshToken string false A separate token to pass along with requests to refresh the bearer token

AuthUserResponse

{
  "expires": "string",
  "message": "string",
  "status": 0,
  "token": "string",
  "refreshToken": "string",
  "scope": "OFFLINE"
}

Properties

Name Type Required Description
expires string false The time of expiration of this authentication token in number of seconds since the epoch (1970-01-1)
message string false Brief summary of authentication event
status integer false HTTP status of the request
token string false The bearer token to pass along with requests to Urjanet services
refreshToken string false A separate token to pass along with requests to refresh the bearer token
scope string false Specifying a scope of 'OFFLINE' will allow the token to be refreshed

Enumerated Values

Property Value
scope OFFLINE
scope ANY

CurrentOrganizationRequest

{
  "allowedEmailDomains": "string",
  "name": "string",
  "privacyPolicy": "string",
  "publicKey": "string",
  "termsOfService": "string"
}

CurrentOrganizationRequest

Properties

Name Type Required Description
allowedEmailDomains string false Comma-separated list of allowed e-mail domains for users within this organization
name string true Name of this organization
privacyPolicy string false A URL for your company's privacy policy. This will be linked in the Urjanet Connect UI
publicKey string false N/A
termsOfService string false A URL for your company's terms of service. This will be linked in the Urjanet Connect UI

CurrentOrganizationResource

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "allowedEmailDomains": "string",
  "createdBy": "string",
  "defaultWebhookUrl": "string",
  "defaultTimeout": "string",
  "defaultDataCapturePeriodMonths": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "lastModifiedBy": "string",
  "lastModifiedDate": "2018-10-19T20:14:32Z",
  "name": "string",
  "privacyPolicy": "string",
  "publicKey": "string",
  "sourceToken": "string",
  "termsOfService": "string",
  "uniqueId": "string",
  "useSourceToken": true
}

CurrentOrganizationResource

Properties

Name Type Required Description
_links [Link] false Array of links to access associated resources
allowedEmailDomains string false Comma-separated list of allowed e-mail domains for users within this organization
createdBy string false User who created this organization
defaultWebhookUrl string false The webhook URL used with Urjanet Connect integration
defaultTimeout string false The timeout value used with Urjanet Connect integration
defaultDataCapturePeriodMonths string false The number of months of data that will be extracted with Urjanet Connect integration
createdDate string(date-time) false Date this organization was created
lastModifiedBy string false Most recent user to modify this organization
lastModifiedDate string(date-time) false Date this organization was most recently modified
name string false Name of this organization
privacyPolicy string false A URL for your company's privacy policy. This will be linked in the Urjanet Connect UI
publicKey string false N/A
sourceToken string false N/A
termsOfService string false A URL for your company's terms of service. This will be linked in the Urjanet Connect UI
uniqueId string false N/A
useSourceToken boolean false N/A

CurrentUserRequest

{
  "currentPassword": "string",
  "email": "string",
  "name": "string",
  "password": "string",
  "passwordConfirm": "string"
}

CurrentUserRequest

Properties

Name Type Required Description
currentPassword string false Your current password used to access Urjanet
email string true Your current e-mail address associated with Urjanet
name string true Your current name
password string false Your desired password used to access Urjanet
passwordConfirm string false Confirm your current password used to access Urjanet

CurrentUserResource

{
  "_embedded": {},
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "email": "string",
  "externalSource": "string",
  "name": "string"
}

CurrentUserResource

Properties

Name Type Required Description
_embedded object false Embedded list of user roles
_links [Link] false Array of links to access associated resources
email string false Your current e-mail address associated with Urjanet
externalSource string false none
name string false Your current name

PagedProjectResource

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "alias": "string",
      "createdBy": "string",
      "createdDate": "2018-10-19T20:14:32Z",
      "expectedAccountStrategy": "CUSTOMER_SUPPLIED",
      "id2": "string",
      "lastModifiedBy": "string",
      "lastModifiedDate": "2018-10-19T20:14:32Z",
      "name": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

PagedProjectResource

Properties

Name Type Required Description
_embedded [ProjectResource] false Array of projects
_links [Link] false Array of links to access associated resources
page PageMetadata false none

PagedPublicRoleResource

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "createdBy": "string",
      "createdDate": "2018-10-19T20:14:32Z",
      "lastModifiedBy": "string",
      "lastModifiedDate": "2018-10-19T20:14:32Z",
      "name": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

PagedPublicRoleResource

Properties

Name Type Required Description
_embedded [PublicRoleResource] false Array of roles
_links [Link] false Array of links to access associated resources
page PageMetadata false none

PagedPublicUserResource

{
  "_embedded": [
    {
      "_embedded": {},
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountEnabled": true,
      "createdBy": "string",
      "createdDate": "2018-10-19T20:14:32Z",
      "credentialsExpired": true,
      "email": "string",
      "externalSource": "string",
      "lastModifiedBy": "string",
      "lastModifiedDate": "2018-10-19T20:14:32Z",
      "name": "string",
      "username": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

PagedPublicUserResource

Properties

Name Type Required Description
_embedded [PublicUserResource] false Array of users
_links [Link] false Array of links to access associated resources
page PageMetadata false none

ProjectResource

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "alias": "string",
  "createdBy": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "expectedAccountStrategy": "CUSTOMER_SUPPLIED",
  "id2": "string",
  "lastModifiedBy": "string",
  "lastModifiedDate": "2018-10-19T20:14:32Z",
  "name": "string"
}

ProjectResource

Properties

Name Type Required Description
_links [Link] false Array of links to access associated resources
alias string false Shortened name for the project; cannot contain spaces.
createdBy string false User that created this project
createdDate string(date-time) false Date that this project was created
expectedAccountStrategy string false none
id2 string false none
lastModifiedBy string false User that most recently modified this project
lastModifiedDate string(date-time) false Date that this project was most recently modified
name string false Longer-form name of this project

Enumerated Values

Property Value
expectedAccountStrategy CUSTOMER_SUPPLIED
expectedAccountStrategy AUTO_CREATE
expectedAccountStrategy AUTO_CREATE_DISABLED

PublicRoleResource

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "createdBy": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "lastModifiedBy": "string",
  "lastModifiedDate": "2018-10-19T20:14:32Z",
  "name": "string"
}

PublicRoleResource

Properties

Name Type Required Description
_links [Link] false Array of links to access associated resources
createdBy string false User that created this role
createdDate string(date-time) false Date that this role was created
lastModifiedBy string false User that most recently modified this role
lastModifiedDate string(date-time) false Date this role was most recently modified
name string false Name of the role

PublicUserRequest

{
  "accountEnabled": true,
  "autoGeneratePassword": true,
  "credentialsExpired": true,
  "email": "string",
  "name": "string",
  "password": "stringst",
  "passwordConfirm": "string",
  "roles": [
    "string"
  ],
  "username": "string"
}

PublicUserRequest

Properties

Name Type Required Description
accountEnabled boolean true Indicates whether this user's account is enabled
autoGeneratePassword boolean false If true, password will be automatically set and user will have to reset it using associated e-mail address
credentialsExpired boolean true If true, this user needs to rotate their password
email string true E-mail address to associate with this user
name string true Name of this user
password string false Password used to authenticate with Urjanet
passwordConfirm string false Confirm password used to authentica with Urjanet
roles [string] false List of role names to assign to this user
username string true Username used to authenticate with Urjanet; cannot contain spaces

PublicUserResource

{
  "_embedded": {},
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountEnabled": true,
  "createdBy": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "credentialsExpired": true,
  "email": "string",
  "externalSource": "string",
  "lastModifiedBy": "string",
  "lastModifiedDate": "2018-10-19T20:14:32Z",
  "name": "string",
  "username": "string"
}

PublicUserResource

Properties

Name Type Required Description
_embedded object false Embedded list of user roles
_links [Link] false Array of links to access associated resources
accountEnabled boolean false Indicates whether this user's account is enabled
createdBy string false User that created this user
createdDate string(date-time) false Date the user was created
credentialsExpired boolean false If true, this user needs to rotate their password
email string false E-mail address associated with the user
externalSource string false N/A
lastModifiedBy string false User that most recently made changes
lastModifiedDate string(date-time) false Date the user was most recently modified
name string false Name of the user
username string false Username used to authenticate with Urjanet; cannot contain spaces

UserProjectRequest

{
  "projects": [
    "string"
  ]
}

UserProjectRequest

Properties

Name Type Required Description
projects [string] false List of project names to associate with the user

PagedPublicProviderResource

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "providerName": "string",
      "requiredFields": [
        "string"
      ],
      "supportsCredentialValidation": true,
      "country": "string",
      "enabledSolutions": [
        "CREDIT"
      ],
      "serviceTypes": [
        "string"
      ],
      "providerId": "string",
      "website": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

PagedPublicProviderResource

Properties

Name Type Required Description
_embedded [PublicProviderResource] false List of providers
_links [Link] false Array of links to access associated resources
page PageMetadata false none

PagedPublicServiceTypeResource

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "created": "2018-10-19T20:14:32Z",
      "modified": "2018-10-19T20:14:32Z",
      "name": "string",
      "uuid": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

PagedPublicServiceTypeResource

Properties

Name Type Required Description
_embedded [PublicServiceTypeResource] false List of service types
_links [Link] false Array of links to access associated resources
page PageMetadata false none

PublicProviderResource

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "providerName": "string",
  "requiredFields": [
    "string"
  ],
  "supportsCredentialValidation": true,
  "country": "string",
  "enabledSolutions": [
    "CREDIT"
  ],
  "serviceTypes": [
    "string"
  ],
  "providerId": "string",
  "website": "string"
}

PublicProviderResource

Properties

Name Type Required Description
_links [Link] false Array of links to access associated resources
providerName string false A human readable name for the utility company. This field is searchable.
requiredFields [string] false The inputs needed to submit a request for this provider
supportsCredentialValidation boolean false Whether this provider supports Real-Time validation of credentials. If enabled, credentials can be checked for validity in less than 30 seconds. This field is searchable.
country string false The primary country of operation for this provider. This field is searchable.
enabledSolutions [string] false A list of the solutions supported by this provider
serviceTypes [string] false A list of the service types that this provider supports
providerId string false The primary key used to represent this provider
website string false The link Urjanet will use to access the provider's website. This field is searchable.

PublicServiceTypeResource

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "created": "2018-10-19T20:14:32Z",
  "modified": "2018-10-19T20:14:32Z",
  "name": "string",
  "uuid": "string"
}

PublicServiceTypeResource

Properties

Name Type Required Description
_links [Link] false Array of links to access associated resources
created string(date-time) false none
modified string(date-time) false none
name string false Name of this service type (e.g. 'Electric'). This field is searchable.
uuid string false The primary key used to represent this service type

CreditRequestDTO

{
  "accountNumber": "string",
  "webhookUrl": "string",
  "correlationId": "string",
  "password": "string",
  "password2": "string",
  "password3": "string",
  "password4": "string",
  "periodEnd": "string",
  "periodStart": "string",
  "providerId": "string",
  "timeout": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}

CreditRequestDTO

Properties

Name Type Required Description
accountNumber string false If provided, only data for this account will be extracted
webhookUrl string false Urjanet will send status updates to this URL via HTTP events
correlationId string false An ID used to match the utility data pulled for this request back to users in your system
password string false A sensitive input required to access the customer's utility data. This will not be returned in any GET calls for the request object.
password2 string false Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.
password3 string false See password2
password4 string false See password2
periodEnd string false End date of statements to include; formatted YYYY-MM-DD
periodStart string false Start date of statements to include; formatted YYYY-MM-DD
providerId string true The primary key used to represent this provider
timeout integer(int32) false The length of time, in seconds, which Urjanet will continue to fulfill this request
username string true A login input required to access the customer's utility data
username2 string false Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider
username3 string false See username2
username4 string false See username2

SolarRequestDTO

{
  "accountNumber": "string",
  "webhookUrl": "string",
  "correlationId": "string",
  "password": "string",
  "password2": "string",
  "password3": "string",
  "password4": "string",
  "periodEnd": "string",
  "periodStart": "string",
  "providerId": "string",
  "timeout": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}

SolarRequestDTO

Properties

Name Type Required Description
accountNumber string false If provided, only data for this account will be extracted
webhookUrl string false Urjanet will send status updates to this URL via HTTP events. See here for more information.
correlationId string false An ID used to match the utility data pulled for this request back to users in your system
password string false A sensitive input required to access the customer's utility data. This will not be returned in any GET calls for the request object.
password2 string false Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.
password3 string false See password2
password4 string false See password2
periodEnd string false End date of statements to include; formatted YYYY-MM-DD
periodStart string false Start date of statements to include; formatted YYYY-MM-DD
providerId string true The primary key used to represent this provider
timeout integer(int32) false The length of time, in seconds, which Urjanet will continue to fulfill this request
username string true A login input required to access the customer's utility data
username2 string false Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider
username3 string false See username2
username4 string false See username2

IdentityRequestDTO

{
  "accountNumber": "string",
  "webhookUrl": "string",
  "correlationId": "string",
  "password": "string",
  "password2": "string",
  "password3": "string",
  "password4": "string",
  "providerId": "string",
  "timeout": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}

IdentityRequestDTO

Properties

Name Type Required Description
accountNumber string false If provided, only data for this account will be extracted
webhookUrl string false Urjanet will send status updates to this URL via HTTP events. See here for more information.
correlationId string false An ID used to match the utility data pulled for this request back to users in your system
password string false A sensitive input required to access the customer's utility data. This will not be returned in any GET calls for the request object.
password2 string false Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.
password3 string false See password2
password4 string false See password2
providerId string true The primary key used to represent this provider
timeout integer(int32) false The length of time, in seconds, which Urjanet will continue to fulfill this request
username string true A login input required to access the customer's utility data
username2 string false Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider
username3 string false See username2
username4 string false See username2

PublicRequestResource

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "SUCCESS",
  "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
  "correlationId": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "expirationDate": "2018-10-19T20:14:32Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}

PublicRequestResource

Properties

Name Type Required Description
_links [Link] false Array of links to access associated resources
accountNumber string false If provided, only data for this account will be extracted. This field is searchable.
providerId string false The primary key used to represent this provider
providerName string false This field is searchable.
webhookResult integer(int32) false Result of posting the completed result to the webhook URL.
webhookUrl string false Urjanet will send status updates to this URL via HTTP events. See here for more information.
completionStatus string false A high-level status for the request. See this table for more information. This field is searchable.
completionStatusDetail string false A detailed status for the request. See this table for more information. This field is searchable.
correlationId string false An ID used to match the utility data pulled for this request back to users in your system. This field is searchable.
createdDate string(date-time) false The date-time the request was registered in Urjanet's system
expirationDate string(date-time) false The date that this request will timeout, based on the value given to the initial request
statementCount integer(int32) false If completed, the number of statements that were retrieved for this request
username string false A login input required to access the customer's utility data. This field is searchable.
username2 string false Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider. This field is searchable.
username3 string false See username2
username4 string false See username2

Enumerated Values

Property Value
completionStatus SUCCESS
completionStatus PENDING
completionStatus FAILURE
completionStatus TIMEOUT
completionStatus CANCELLED
completionStatusDetail NO_STATEMENTS_IN_PERIOD
completionStatusDetail MULTIPLE_ACCOUNTS_ON_SITE
completionStatusDetail RETRYING_UNTIL_EXPIRATION
completionStatusDetail ACCOUNT_NOT_FOUND
completionStatusDetail CREDENTIALS_INVALID
completionStatusDetail MISSING_REQUIRED_PARAMETER
completionStatusDetail MULTI_FACTOR_AUTH_FAILURE
completionStatusDetail UNSUPPORTED_ACCOUNT_PREPAID
completionStatusDetail UNSUPPORTED_CAPTCHA
completionStatusDetail USER_ACTION_REQUIRED
completionStatusDetail WEBSITE_DOWN
completionStatusDetail LIMITED_ACCESS
completionStatusDetail GENERAL_FAILURE

CreditStatementResource

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string",
  "billingAddressCity": "string",
  "billingAddressCountry": "string",
  "billingAddressName": "string",
  "billingAddressPostalCode": "string",
  "billingAddressRaw": "string",
  "billingAddressState": "string",
  "billingAddressStreet1": "string",
  "billingAddressStreet2": "string",
  "serviceAddressCity": "string",
  "serviceAddressCountry": "string",
  "serviceAddressName": "string",
  "serviceAddressPostalCode": "string",
  "serviceAddressRaw": "string",
  "serviceAddressState": "string",
  "serviceAddressStreet1": "string",
  "serviceAddressStreet2": "string",
  "currency": "string",
  "totalBill": 0,
  "balanceAdjustments": 0,
  "dueDate": "string",
  "statementDate": "string"
}

CreditStatementResource

Properties

Name Type Required Description
_links [Link] false Array of links to access associated resources
accountNumber string false none
billingAddressCity string false none
billingAddressCountry string false none
billingAddressName string false none
billingAddressPostalCode string false none
billingAddressRaw string false none
billingAddressState string false none
billingAddressStreet1 string false none
billingAddressStreet2 string false none
serviceAddressCity string false none
serviceAddressCountry string false none
serviceAddressName string false none
serviceAddressPostalCode string false none
serviceAddressRaw string false none
serviceAddressState string false none
serviceAddressStreet1 string false none
serviceAddressStreet2 string false none
currency string false none
totalBill number false none
balanceAdjustments number false none
dueDate string false none
statementDate string false none

PagedCreditStatementResource

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountNumber": "string",
      "billingAddressCity": "string",
      "billingAddressCountry": "string",
      "billingAddressName": "string",
      "billingAddressPostalCode": "string",
      "billingAddressRaw": "string",
      "billingAddressState": "string",
      "billingAddressStreet1": "string",
      "billingAddressStreet2": "string",
      "serviceAddressCity": "string",
      "serviceAddressCountry": "string",
      "serviceAddressName": "string",
      "serviceAddressPostalCode": "string",
      "serviceAddressRaw": "string",
      "serviceAddressState": "string",
      "serviceAddressStreet1": "string",
      "serviceAddressStreet2": "string",
      "currency": "string",
      "totalBill": 0,
      "balanceAdjustments": 0,
      "dueDate": "string",
      "statementDate": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

PagedCreditStatementResource

Properties

Name Type Required Description
_embedded [CreditStatementResource] false List of credit statements
_links [Link] false Array of links to access associated resources
page PageMetadata false none

CreditPaymentResource

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "amount": 0,
  "paymentDate": "string",
  "currency": "string"
}

CreditPaymentResource

Properties

Name Type Required Description
_links [Link] false Array of links to access associated resources
amount number false none
paymentDate string false none
currency string false none

PagedCreditPaymentResource

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "amount": 0,
      "paymentDate": "string",
      "currency": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

PagedCreditPaymentResource

Properties

Name Type Required Description
_embedded [CreditPaymentResource] false List of payment resources
_links [Link] false Array of links to access associated resources
page PageMetadata false none

AccountResource

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string"
}

CreditAccountResource

Properties

Name Type Required Description
_links [Link] false Array of links to access associated resources
accountNumber string false none

PagedAccountResource

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountNumber": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

PagedAccountResource

Properties

Name Type Required Description
_embedded [AccountResource] false List of account resources
_links [Link] false Array of links to access associated resources
page PageMetadata false none

PublicCreditRequestResource

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "SUCCESS",
  "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
  "correlationId": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "expirationDate": "2018-10-19T20:14:32Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string",
  "periodEnd": "string",
  "periodStart": "string"
}

PublicCreditRequestResource

Properties

Name Type Required Description
_links [Link] false Array of links to access associated resources
accountNumber string false If provided, only data for this account will be extracted. This field is searchable.
providerId string false The primary key used to represent this provider
providerName string false This field is searchable.
webhookResult integer(int32) false Result of posting the completed result to the webhook URL.
webhookUrl string false Urjanet will send status updates to this URL via HTTP events. See here for more information.
completionStatus string false A high-level status for the request. See this table for more information. This field is searchable.
completionStatusDetail string false A detailed status for the request. See this table for more information. This field is searchable.
correlationId string false An ID used to match the utility data pulled for this request back to users in your system. This field is searchable.
createdDate string(date-time) false The date-time the request was registered in Urjanet's system
expirationDate string(date-time) false The date that this request will timeout, based on the value given to the initial request
statementCount integer(int32) false If completed, the number of statements that were retrieved for this request
username string false A login input required to access the customer's utility data. This field is searchable.
username2 string false Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider. This field is searchable.
username3 string false See username2
username4 string false See username2
periodEnd string false End date of statements to include; formatted YYYY-MM-DD
periodStart string false Start date of statements to include; formatted YYYY-MM-DD

Enumerated Values

Property Value
completionStatus SUCCESS
completionStatus PENDING
completionStatus FAILURE
completionStatus TIMEOUT
completionStatus CANCELLED
completionStatusDetail NO_STATEMENTS_IN_PERIOD
completionStatusDetail MULTIPLE_ACCOUNTS_ON_SITE
completionStatusDetail RETRYING_UNTIL_EXPIRATION
completionStatusDetail ACCOUNT_NOT_FOUND
completionStatusDetail CREDENTIALS_INVALID
completionStatusDetail MISSING_REQUIRED_PARAMETER
completionStatusDetail MULTI_FACTOR_AUTH_FAILURE
completionStatusDetail UNSUPPORTED_ACCOUNT_PREPAID
completionStatusDetail UNSUPPORTED_CAPTCHA
completionStatusDetail USER_ACTION_REQUIRED
completionStatusDetail WEBSITE_DOWN
completionStatusDetail LIMITED_ACCESS
completionStatusDetail GENERAL_FAILURE

PublicSolarRequestResource

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "SUCCESS",
  "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
  "correlationId": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "expirationDate": "2018-10-19T20:14:32Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string",
  "periodEnd": "string",
  "periodStart": "string"
}

PublicSolarRequestResource

Properties

Name Type Required Description
_links [Link] false none
accountNumber string false If provided, only data for this account will be extracted. This field is searchable.
providerId string false The primary key used to represent this provider
providerName string false This field is searchable.
webhookResult integer(int32) false Result of posting the completed result to the webhook URL.
webhookUrl string false Urjanet will send status updates to this URL via HTTP events. See here for more information.
completionStatus string false A high-level status for the request. See this table for more information. This field is searchable.
completionStatusDetail string false A detailed status for the request. See this table for more information. This field is searchable.
correlationId string false An ID used to match the utility data pulled for this request back to users in your system. This field is searchable.
createdDate string(date-time) false The date-time the request was registered in Urjanet's system
expirationDate string(date-time) false The date that this request will timeout, based on the value given to the initial request
statementCount integer(int32) false If completed, the number of statements that were retrieved for this request
username string false A login input required to access the customer's utility data. This field is searchable.
username2 string false Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider. This field is searchable.
username3 string false See username2
username4 string false See username2
periodEnd string false End date of statements to include; formatted YYYY-MM-DD
periodStart string false Start date of statements to include; formatted YYYY-MM-DD

Enumerated Values

Property Value
completionStatus SUCCESS
completionStatus PENDING
completionStatus FAILURE
completionStatus TIMEOUT
completionStatus CANCELLED
completionStatusDetail NO_STATEMENTS_IN_PERIOD
completionStatusDetail MULTIPLE_ACCOUNTS_ON_SITE
completionStatusDetail RETRYING_UNTIL_EXPIRATION
completionStatusDetail ACCOUNT_NOT_FOUND
completionStatusDetail CREDENTIALS_INVALID
completionStatusDetail MISSING_REQUIRED_PARAMETER
completionStatusDetail MULTI_FACTOR_AUTH_FAILURE
completionStatusDetail UNSUPPORTED_ACCOUNT_PREPAID
completionStatusDetail UNSUPPORTED_CAPTCHA
completionStatusDetail USER_ACTION_REQUIRED
completionStatusDetail WEBSITE_DOWN
completionStatusDetail LIMITED_ACCESS
completionStatusDetail GENERAL_FAILURE

PublicIdentityRequestResource

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "accountNumber": "string",
  "providerId": "string",
  "providerName": "string",
  "webhookResult": 0,
  "webhookUrl": "string",
  "completionStatus": "SUCCESS",
  "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
  "correlationId": "string",
  "createdDate": "2018-10-19T20:14:32Z",
  "expirationDate": "2018-10-19T20:14:32Z",
  "statementCount": 0,
  "username": "string",
  "username2": "string",
  "username3": "string",
  "username4": "string"
}

PublicIdentityRequestResource

Properties

Name Type Required Description
_links [Link] false none
accountNumber string false If provided, only data for this account will be extracted. This field is searchable.
providerId string false The primary key used to represent this provider
providerName string false This field is searchable.
webhookResult integer(int32) false Result of posting the completed result to the webhook URL.
webhookUrl string false Urjanet will send status updates to this URL via HTTP events. See here for more information.
completionStatus string false A high-level status for the request. See this table for more information. This field is searchable.
completionStatusDetail string false A detailed status for the request. See this table for more information. This field is searchable.
correlationId string false An ID used to match the utility data pulled for this request back to users in your system. This field is searchable.
createdDate string(date-time) false The date-time the request was registered in Urjanet's system
expirationDate string(date-time) false The date that this request will timeout, based on the value given to the initial request
statementCount integer(int32) false If completed, the number of statements that were retrieved for this request
username string false A login input required to access the customer's utility data. This field is searchable.
username2 string false Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider. This field is searchable.
username3 string false See username2
username4 string false See username2

Enumerated Values

Property Value
completionStatus SUCCESS
completionStatus PENDING
completionStatus FAILURE
completionStatus TIMEOUT
completionStatus CANCELLED
completionStatusDetail NO_STATEMENTS_IN_PERIOD
completionStatusDetail MULTIPLE_ACCOUNTS_ON_SITE
completionStatusDetail RETRYING_UNTIL_EXPIRATION
completionStatusDetail ACCOUNT_NOT_FOUND
completionStatusDetail CREDENTIALS_INVALID
completionStatusDetail MISSING_REQUIRED_PARAMETER
completionStatusDetail MULTI_FACTOR_AUTH_FAILURE
completionStatusDetail UNSUPPORTED_ACCOUNT_PREPAID
completionStatusDetail UNSUPPORTED_CAPTCHA
completionStatusDetail USER_ACTION_REQUIRED
completionStatusDetail WEBSITE_DOWN
completionStatusDetail LIMITED_ACCESS
completionStatusDetail GENERAL_FAILURE

PagedPublicRequestResource

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountNumber": "string",
      "providerId": "string",
      "providerName": "string",
      "webhookResult": 0,
      "webhookUrl": "string",
      "completionStatus": "SUCCESS",
      "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
      "correlationId": "string",
      "createdDate": "2018-10-19T20:14:32Z",
      "expirationDate": "2018-10-19T20:14:32Z",
      "statementCount": 0,
      "username": "string",
      "username2": "string",
      "username3": "string",
      "username4": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

PagedPublicRequestResource

Properties

Name Type Required Description
_embedded [PublicRequestResource] false List of data requests
_links [Link] false Array of links to access associated resources
page PageMetadata false none

SolarStatementResource

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "billingAddressCity": "string",
  "billingAddressCountry": "string",
  "billingAddressName": "string",
  "billingAddressPostalCode": "string",
  "billingAddressRaw": "string",
  "billingAddressState": "string",
  "billingAddressStreet1": "string",
  "billingAddressStreet2": "string",
  "currency": "string",
  "totalBill": 0,
  "electricCost": 0,
  "consumption": 0,
  "demand": 0,
  "tariff": "string",
  "statementMessages": "string",
  "statementIntervalStart": "string",
  "statementIntervalEnd": "string",
  "usageIntervalStart": "string",
  "usageIntervalEnd": "string"
}

SolarStatementResource

Properties

Name Type Required Description
_links [Link] false Array of links to access associated resources
billingAddressCity string false none
billingAddressCountry string false none
billingAddressName string false none
billingAddressPostalCode string false none
billingAddressRaw string false none
billingAddressState string false none
billingAddressStreet1 string false none
billingAddressStreet2 string false none
currency string false none
totalBill number false none
electricCost number false none
consumption number false none
demand number false none
tariff string false none
statementMessages string false none
statementIntervalStart string false none
statementIntervalEnd string false none
usageIntervalStart string false none
usageIntervalEnd string false none

PagedSolarStatementResource

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "billingAddressCity": "string",
      "billingAddressCountry": "string",
      "billingAddressName": "string",
      "billingAddressPostalCode": "string",
      "billingAddressRaw": "string",
      "billingAddressState": "string",
      "billingAddressStreet1": "string",
      "billingAddressStreet2": "string",
      "currency": "string",
      "totalBill": 0,
      "electricCost": 0,
      "consumption": 0,
      "demand": 0,
      "tariff": "string",
      "statementMessages": "string",
      "statementIntervalStart": "string",
      "statementIntervalEnd": "string",
      "usageIntervalStart": "string",
      "usageIntervalEnd": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

PagedSolarStatementResource

Properties

Name Type Required Description
_embedded [SolarStatementResource] false List of solar statements
_links [Link] false Array of links to access associated resources
page PageMetadata false none

IdentityStatementResource

{
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "billingAddressCity": "string",
  "billingAddressCountry": "string",
  "billingAddressName": "string",
  "billingAddressPostalCode": "string",
  "billingAddressRaw": "string",
  "billingAddressState": "string",
  "billingAddressStreet1": "string",
  "billingAddressStreet2": "string",
  "serviceAddressCity": "string",
  "serviceAddressCountry": "string",
  "serviceAddressName": "string",
  "serviceAddressPostalCode": "string",
  "serviceAddressRaw": "string",
  "serviceAddressState": "string",
  "serviceAddressStreet1": "string",
  "serviceAddressStreet2": "string",
  "statementDate": "string"
}

IdentityStatementResource

Properties

Name Type Required Description
_links [Link] false Array of links to access associated resources
billingAddressCity string false none
billingAddressCountry string false none
billingAddressName string false none
billingAddressPostalCode string false none
billingAddressRaw string false none
billingAddressState string false none
billingAddressStreet1 string false none
billingAddressStreet2 string false none
serviceAddressCity string false none
serviceAddressCountry string false none
serviceAddressName string false none
serviceAddressPostalCode string false none
serviceAddressRaw string false none
serviceAddressState string false none
serviceAddressStreet1 string false none
serviceAddressStreet2 string false none
statementDate string false none

PagedIdentityStatementResource

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "billingAddressCity": "string",
      "billingAddressCountry": "string",
      "billingAddressName": "string",
      "billingAddressPostalCode": "string",
      "billingAddressRaw": "string",
      "billingAddressState": "string",
      "billingAddressStreet1": "string",
      "billingAddressStreet2": "string",
      "serviceAddressCity": "string",
      "serviceAddressCountry": "string",
      "serviceAddressName": "string",
      "serviceAddressPostalCode": "string",
      "serviceAddressRaw": "string",
      "serviceAddressState": "string",
      "serviceAddressStreet1": "string",
      "serviceAddressStreet2": "string",
      "statementDate": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

PagedIdentityStatementResource

Properties

Name Type Required Description
_embedded [IdentityStatementResource] false List of identity statements
_links [Link] false Array of links to access associated resources
page PageMetadata false none

PagedPublicCreditRequestResource

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountNumber": "string",
      "providerId": "string",
      "providerName": "string",
      "webhookResult": 0,
      "webhookUrl": "string",
      "completionStatus": "SUCCESS",
      "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
      "correlationId": "string",
      "createdDate": "2018-10-19T20:14:32Z",
      "expirationDate": "2018-10-19T20:14:32Z",
      "statementCount": 0,
      "username": "string",
      "username2": "string",
      "username3": "string",
      "username4": "string",
      "periodEnd": "string",
      "periodStart": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

PagedPublicCreditRequestResource

Properties

Name Type Required Description
_embedded [PublicCreditRequestResource] false List of credit requests
_links [Link] false Array of links to access associated resources
page PageMetadata false none

PagedPublicSolarRequestResource

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountNumber": "string",
      "providerId": "string",
      "providerName": "string",
      "webhookResult": 0,
      "webhookUrl": "string",
      "completionStatus": "SUCCESS",
      "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
      "correlationId": "string",
      "createdDate": "2018-10-19T20:14:32Z",
      "expirationDate": "2018-10-19T20:14:32Z",
      "statementCount": 0,
      "username": "string",
      "username2": "string",
      "username3": "string",
      "username4": "string",
      "periodEnd": "string",
      "periodStart": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

PagedPublicSolarRequestResource

Properties

Name Type Required Description
_embedded [PublicSolarRequestResource] false List of solar requests
_links [Link] false Array of links to access associated resources
page PageMetadata false none

PagedPublicIdentityRequestResource

{
  "_embedded": [
    {
      "_links": [
        {
          "href": "string",
          "rel": "string",
          "templated": true
        }
      ],
      "accountNumber": "string",
      "providerId": "string",
      "providerName": "string",
      "webhookResult": 0,
      "webhookUrl": "string",
      "completionStatus": "SUCCESS",
      "completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
      "correlationId": "string",
      "createdDate": "2018-10-19T20:14:32Z",
      "expirationDate": "2018-10-19T20:14:32Z",
      "statementCount": 0,
      "username": "string",
      "username2": "string",
      "username3": "string",
      "username4": "string"
    }
  ],
  "_links": [
    {
      "href": "string",
      "rel": "string",
      "templated": true
    }
  ],
  "page": {
    "number": 0,
    "size": 0,
    "totalElements": 0,
    "totalPages": 0
  }
}

PagedPublicIdentityRequestResource

Properties

Name Type Required Description
_embedded [PublicIdentityRequestResource] false List of identity requests
_links [Link] false Array of links to access associated resources
page PageMetadata false none

undefined