Introduction
Last Updated: September 22, 2021
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:
- User - the person or program interacting with the Urjanet API (you)
- Account Holder - the person whose data you are requesting (your customer)
- Provider - the company providing the service for which the Account Holder is being billed (the utility)
- Statements - a monthly bill sent to the Account Holder by the Provider
Base URL: https://api.urjanet.com
Rate Limiting
The Urjanet API's rate limits are the following:
API Rate Limits
- Rate: 250 requests per second
- Burst: 500 requests
- Quota: 1,000,000 requests per day
Sandbox API Rate Limits
- Rate: 50 requests per second
- Burst: 100 requests
- Quota: 100,000 requests per day
Error Responses
Error responses are served with a non-200-series HTTP code. Usually a JSON response will be attached, but some errors will respond with different kinds of body. In these circumstances where a response structure cannot be parsed, consider the HTTP code’s core meaning to take precedence. For instance, you may occasionally see a HTTP 404 along with a HTML response. In this case, it’s safe to assume that the content cannot be found (HTTP 404 means “Not Found”).
HTTP Status Codes and Messages
Code | Text | Description | Troubleshooting tips |
---|---|---|---|
200 | OK | The request was successful! | |
304 | Not Modified | There was no new data to return. | |
400 | Bad Request | The request was invalid or cannot be otherwise served. An accompanying error message will explain further. | Double check the format of your JSON request body. |
401 | Unauthorized | There was a problem authenticating your request. This could be due to missing or incorrect authentication credentials. This may also be returned in other undefined circumstances. | Check that you are using the correct authentication method and that your credentials are correct. |
403 | Forbidden | The request is understood, but it has been refused or access is not allowed. An accompanying error message will explain why. | Check that your account has the necessary permission to perform the operation. |
404 | Not Found | The URI requested is invalid or the resource requested, such as an account or provider, does not exist. | Check that you are using valid parameters and the correct URI for the endpoint you’re using. |
406 | Not Acceptable | Returned when an invalid format is specified in the request. Generally, this occurs where your client fails to properly include the headers to accept the response type. | Check that you are correctly passing expected query parameters, including expected headers, in your request. |
409 | Conflict | Returned when the resource cannot be modified in the requested way as it would conflict with another resource. | Usually this occurs when trying to name a resource with a name that is already in use, or when trying to delete a resource which is linked via other resources. |
410 | Gone | This resource is gone. Used to indicate that an API endpoint has been turned off. | |
422 | Unprocessable Entity | Returned when the data is unable to be processed. | Check that the data you are sending in your request is valid. For example, this data could be the JSON body of your request or an image. |
429 | Too Many Requests | Returned when a request cannot be served due to the App's rate limit having been exhausted for the resource. See Rate Limiting. | Check the number of requests per timeframe allowed with the endpoint you’re using. Wait for the timeframe to reset. Space out your requests to ensure you don’t hit rate limits. |
500 | Internal Server Error | Something is broken. This is usually a temporary error, for example in a high load situation or if an endpoint is temporarily having issues. | Check the Urjanet Status Page or simply wait and try again later. |
502 | Bad Gateway | Urjanet API is down, or being upgraded | Check the Urjanet Status Page or simply wait and try again later. |
503 | Service Unavailable | The Urjanet servers are up, but overloaded with requests. Try again later. | Check the Urjanet Status Page or simply wait and try again later. |
504 | Gateway Timeout | The Urjanet servers are up, but the request couldn’t be serviced due to some failure within the internal stack. Try again later. | Check the Urjanet Status Page or simply wait and try again later. |
When an error occurs during a request, detailed information about the error is returned in the response body to aid in diagnosing the problem.
{
"error": "Entity Not Found",
"message": [
"No UtilityProvider found at 8888888"
],
"path": "/api/public/v1/identity/providers/8888888",
"status": 404,
"timestamp": 1632319685942
}
Response Details
On-Demand Data 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. Urjanet expects a 2XX response from your server to indicate that you received the response. If we do not receive a 2XX response or are unable to deliver it for any other reason, we will attempt to resend the webhook every hour for up to seven days.
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 | MULTI_FACTOR_AUTH_TIMEOUT | User input for MFA response was not provided soon enough, so the navigation timed out. |
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 outside those described above |
FAILURE | PROVIDER_NOT_CURRENTLY_SUPPORTED | Provider was marked as unsupported after request was submitted |
FAILURE | LOGIN_ATTEMPTS_EXCEEDED | User has exceeded the maximum number of login attempts allowed. Try again later. |
TIMEOUT | null | Request did not complete within the given timeout (Deprecated; may be present in older data) |
CANCELLED | null | Request was successfully submitted but later cancelled by the user |
Recurring Data Webhooks
Webhook Response
{
"eventType": "RECURRING_REQUEST_COMPLETE",
"created": "2021-02-05T16:32:16+00:00",
"subject": "CREDENTIAL",
"entityId":"https://api.urjanet.com/apautomation/credentials/3579",
"correlationId":"test-urjanet-test2018",
"status":"OK",
"statusDetail":"NO_ACTION_REQUIRED"
}
Urjanet can also send webhook events for any notable events for recurring requests. For example, this could include if a new statement is available or we notice a credential is now resulting in login failure.
To specify the webhook URI that you would like the events to be POSTed to, you can update it in the Urjanet Console from the Configurations tab on the My Account page.
When sending a webhook, Urjanet looks for a 2xx response. If such a response is not received, it will be assumed that the webhook failed to deliver and the Urjanet platform will continue to send the webhook response 4 times every 6 hours for a total of 1 day. Urjanet assumes the webhook failed to deliver if there isn’t a 2xx response.
See below for a complete list of statuses:
Event Types
Event Type | Subject Types | Description |
---|---|---|
RECURRING_REQUEST_COMPLETE | ACCOUNT / CREDENTIAL | This event is sent when an attempted extraction is completed for an account or credential. |
STATUS_CHANGE | ACCOUNT / CREDENTIAL | This event is sent for any status changes outside of a scheduled extraction. Generally, this is because of an Urjanet employee investigating unknown issues and updating the status to reflect what the problem is. Any statuses may be sent with this event type except for PENDING (and the associated status details). |
MODIFIED_STATEMENT | STATEMENT | Indicates that an existing statement has been updated with modified data. Generally, this is because of updates to the extraction logic that are minor enough not to affect passing data quality audits |
NEW_STATEMENT | STATEMENT | Indicates that a new statement has been initially stored for the first time. |
Credential Events
Status | Status Detail | Description |
---|---|---|
OK | NO_ACTION_REQUIRED | Login was successful and statements were extracted |
ACTION_REQUIRED | UNSUPPORTED_CAPTCHA | Confirmed login failure due to unsupported captcha image |
ACTION_REQUIRED | MULTI_FACTOR_AUTH_FAILURE | Confirmed login failure due to unsupported multi factor authentication |
ACTION_REQUIRED | MULTI_FACTOR_AUTH_TIMEOUT | This indicates that the last attempted extraction timed out while waiting for interactive user input for MFA. |
ACTION_REQUIRED | MULTI_FACTOR_AUTH_REFRESH_REQUIRED | This is only applicable for credentials that require one-time passwords or other forms of MFA. This indicates the credential is ready to be refreshed (See example here). |
ACTION_REQUIRED | E_BILL_REQUIRED | Requested account requires E-bill enrollment to be processed |
ACTION_REQUIRED | NO_ACCOUNTS_FOUND | Login was successful, but no accounts were found behind this credential |
ACTION_REQUIRED | USER_ACTION_REQUIRED | Some form of input is required that Urjanet cannot perform on behalf of the owner |
ACTION_REQUIRED | ACCOUNT_SETUP_REQUIRED | The credentials need more setup before data can be acquired |
ACTION_REQUIRED | LOGIN_FAILURE | Confirmed login failure |
ACTION_REQUIRED | SECURITY_QUESTIONS | Confirmed login failure due to unspecified security question answers |
ACTION_REQUIRED | ACCOUNT_LOCKED | Login was unsuccessful because the account has been locked |
ACTION_REQUIRED | LOGIN_ATTEMPTS_EXCEEDED | User has exceeded the maximum number of login attempts allowed. Try again later. |
Account Events
Status | Status Detail | Description |
---|---|---|
OK | NO_ACTION_REQUIRED | Login was successful and statements were extracted |
ACCESS_ISSUE | E_BILL_REQUIRED | Requested account requires E-bill enrollment to be processed |
ACCESS_ISSUE | ACCOUNT_NUMBER_CHANGE | The number for this account number has been changed by the provider |
ACCESS_ISSUE | INVALID_SOURCE | The source type retrieved from the website cannot be processed by Urjanet |
ACCESS_ISSUE | UNDER_REVIEW | All credentials for this account are either disabled or experiencing access issues |
ACCESS_ISSUE | ACCOUNT_NOT_FOUND | Credentials were valid, but no statements were found with the given account number |
ACCESS_ISSUE | ACCOUNT_SETUP_REQUIRED | The account needs more setup before data can be acquired |
OLD | DORMANT | A new statement for this account has not posted in at least 45 days |
OLD | ACCOUNT_CLOSED | This account is confirmed to be closed by our system |
Multi Factor Authentication
MFA Challenge
{
"requestUri":"https://api.urjanet.com/credit/requests/3579",
"correlationId":"test-urjanet-test2018",
"eventType": "MFA_CHALLENGE",
"responseCode": "MFA_RESPONSE_ONE_TIME_PASS",
"metaData": {
"MFA_CHALLENGE_CODE_METHOD": "XXX-XXXX-2434"
}
}
MFA Challenge Response
{
"responseCode": "MFA_RESPONSE_ONE_TIME_PASS",
"value": "12345"
}
Login Success
{
"requestUri":"https://api.urjanet.com/credit/requests/3579",
"correlationId":"test-urjanet-test2018",
"eventType": "LOGIN_SUCCESS"
}
Some utility providers may require multi-factor authentication (MFA) to sign in to the website before being able to extract data. These providers are flagged in our system with the hasMultiFactorAuthentication
boolean (see here). To support this workflow, our system can send out webhook callbacks while the data extraction is running, and pause for asynchronous user input before continuing. It will also send along any useful metadata for responding to the challenge if available. These are expanded upon below. Each step that is blocked by user action will wait for approximately 2 minutes before timing out.
After receiving an MFA_CHALLENGE request, your system needs to respond with the user input to the challengeResponse endpoint (see here for example). The message body will contain the input value as well as the challenge type that it corresponds to (example on the right). Webhooks will also be sent once the navigation has completed logging in - whether that failed or succeeded. This can be used to mark the end of any necessary user input, and we will continue on to extract any data we find.
To indicate that your system is set up to integrate with this workflow, there is an optional interactive boolean flag when submitting new requests. If this is set to true, then a webhookUrl is required and the system will attempt to handle MFA as described. If the request is not marked as interactive
and the extraction encounters an MFA challenge, it will exit immediately and, if possible, not trigger any code to be sent via text, email, etc.
Event Type | Description |
---|---|
MFA_CHALLENGE | This event indicates that an MFA challenge has been encountered, and we are waiting on user input to continue. See below for possible challenges and descriptions of each. |
LOGIN_SUCCESS | This event signifies that login was successful, and no further user input is required. |
LOGIN_FAILURE | This event signifies that login has failed, and no further user input is required. |
Response Code | Description |
---|---|
MFA_RESPONSE_ONE_TIME_PASS | A one time password or PIN is required from the user. This was likely texted or e-mailed to them. |
MFA_RESPONSE_CODE_METHOD | The user must select the communication method they prefer for receiving the one time pass code. |
MFA_RESPONSE_SECURITY_ANSWER | The user must provide the answer for the corresponding security question provided as metadata. |
MFA_RESPONSE_CAPTCHA_ANSWER | The user must provider the correct value for the corresponding CAPTCHA image. |
MFA_RESPONSE_MOBILE_NOTIFICATION | This represents that a user must verify access through an external application (e.g. mobile app notification). No direct response is required; the user just needs to interact through that external app. |
MFA_RESPONSE_PASS_CODE | The user must offer a pass code that has already been set up with the utility provider (e.g. similar to a PIN) |
Metadata Key | Description |
---|---|
MFA_CHALLENGE_CODE_METHOD | If known, this will specify the method that a one time pass code should have been sent to |
MFA_CHALLENGE_CODE_METHOD_OPTIONS | An array of possible methods for communicating a one time pass code - the user must select which option to use |
MFA_CHALLENGE_SECURITY_QUESTION | This is the question that a user must answer to verify access |
MFA_CHALLENGE_CAPTCHA_IMAGE | This is the BASE-64 encoded String for the CAPTCHA image that the user must answer |
Credential Validation
Each solution has an endpoint which will validate credentials in less than 45 seconds. For a submission to be accepted, the provider must 1) support the specific solution (i.e. Solar, Credit, Identity, AP Automation) and 2) support credential validation.
Credential validation is enabled on a provider-wise basis. This feature's status can be seen in the supportsCredentialValidation field on the Provider object.
The responses returned via the credential validation endpoints are listed below:
Status | Status Detail | Description |
---|---|---|
SUCCESS | null | Credentials have been successfully identified as valid |
TIMEOUT | null | We were not able to confirm the validity of credentials within the 45 second window |
FAILURE | CREDENTIALS_INVALID | Credentials have been identified as invalid |
FAILURE | UNSUPPORTED_CAPTCHA | Website requires a captcha to login |
FAILURE | WEBSITE_DOWN | Provider website is down |
FAILURE | GENERAL_FAILURE | Covers all other failures outside those described above |
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'
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'
};
$.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 = '{
"password": "string",
"username": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json'
};
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'
}
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'
}
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"},
}
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
{
"password": "string",
"username": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
password | body | string | false | Your password to access Urjanet services |
username | body | string | false | Your username to access Urjanet services |
Example responses
200 Response
{
"expires": "string",
"message": "string",
"status": 0,
"token": "string"
}
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": {
"providers": [
{
"_links": {
"serviceTypes": "string",
"parentProvider": "string",
"self": "string"
},
"providerName": "string",
"hasMultiFactorAuthentication": true,
"requiredFields": [
"string"
],
"requiredFieldMetadata": [
{
"fieldName": "string",
"fieldLabel": "string",
"fieldNumber": 0,
"fieldPart": 0,
"fieldLength": 0
}
],
"supportsCredentialValidation": true,
"country": "string",
"enabledSolutions": [
"CREDIT"
],
"serviceTypes": [
"string"
],
"providerId": "string",
"website": "string",
"hasPrepaid": true,
"hasPostpaid": true,
"mock": true,
"beta": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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": {
"serviceTypes": "string",
"parentProvider": "string",
"self": "string"
},
"providerName": "string",
"hasMultiFactorAuthentication": true,
"requiredFields": [
"string"
],
"requiredFieldMetadata": [
{
"fieldName": "string",
"fieldLabel": "string",
"fieldNumber": 0,
"fieldPart": 0,
"fieldLength": 0
}
],
"supportsCredentialValidation": true,
"country": "string",
"enabledSolutions": [
"CREDIT"
],
"serviceTypes": [
"string"
],
"providerId": "string",
"website": "string",
"hasPrepaid": true,
"hasPostpaid": true,
"mock": true,
"beta": true
}
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",
"interactive": true,
"timeout": 3600,
"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.
Real-time Credential Validation (RTCV)
The submit request endpoint is capable of testing the provided credential within 45 seconds of submission. In order to enable this functionality, the provider must support RTCV (indicated in the response of the list providers and retrieve provider endpoints) and the “interactive” parameter must be set to true. The credential validation response will be sent via webhook. These responses are listed here.
Body parameter
{
"accountNumber": "string",
"webhookUrl": "string",
"correlationId": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string",
"periodEnd": "string",
"periodStart": "string",
"providerId": "string",
"interactive": true,
"timeout": 3600,
"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 |
interactive | body | boolean | false | Indicates that your system can handle a challenge-response workflow (notably MFA). See here for more details. If set to true, webhookUrl is a required field. |
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": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"periodEnd": "string",
"periodStart": "string",
"mock": true
}
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": {
"requests": [
{
"_links": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"periodEnd": "string",
"periodStart": "string",
"mock": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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 |
Download Consent CSV
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/credit/requests/downloads/consent \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/credit/requests/downloads/consent 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/downloads/consent',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"search": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/credit/requests/downloads/consent',
{
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/downloads/consent',
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/downloads/consent', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/credit/requests/downloads/consent");
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/downloads/consent", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /credit/requests/downloads/consent
Initiate a download of all CREDIT request consents for a search
Body parameter
{
"search": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | body | string | false | An rsql search string |
Example responses
200 Response
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicDownloadRequestResource |
201 | Created | none | None |
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": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"periodEnd": "string",
"periodStart": "string",
"mock": true
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCreditRequestResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
MFA Challenge
Code samples
# You can also use wget
curl -X PUT https://api.urjanet.com/credit/requests/{requestId}/challengeResponse \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
PUT https://api.urjanet.com/credit/requests/{requestId}/challengeResponse 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/credit/requests/{requestId}/challengeResponse',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"value": "string",
"challenge": "MFA_RESPONSE_ONE_TIME_PASS"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/credit/requests/{requestId}/challengeResponse',
{
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/credit/requests/{requestId}/challengeResponse',
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/credit/requests/{requestId}/challengeResponse', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/credit/requests/{requestId}/challengeResponse");
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/credit/requests/{requestId}/challengeResponse", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /credit/requests/{requestId}/challengeResponse
Submit the requested MFA information provided by a user
Body parameter
{
"value": "string",
"challenge": "MFA_RESPONSE_ONE_TIME_PASS"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
requestId | path | integer(int64) | true | requestId |
value | body | string | false | The requested value from the user for MFA input |
challenge | body | string | false | The particular challenge that this value corresponds to (e.g. one time pass, security question, etc) |
Enumerated Values
Parameter | Value |
---|---|
challenge | MFA_RESPONSE_ONE_TIME_PASS |
challenge | MFA_RESPONSE_CODE_METHOD |
challenge | MFA_RESPONSE_CAPTCHA_ANSWER |
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 |
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": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"periodEnd": "string",
"periodStart": "string",
"mock": true
}
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": {
"accounts": [
{
"prepaid": true,
"_links": {
"statements": "string",
"self": "string"
},
"accountNumber": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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
{
"prepaid": true,
"_links": {
"statements": "string",
"self": "string"
},
"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": {
"statements": [
{
"_links": {
"viewstatementsource": "string",
"self": "string"
},
"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",
"statementType": "BILL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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": {
"payments": [
{
"_links": {
"viewpaymentsource": "string",
"self": "string"
},
"amount": 0,
"paymentDate": "string",
"currency": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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 |
Submit Clone Request
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/credit/requests/{requestId}/clones \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/credit/requests/{requestId}/clones 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/{requestId}/clones',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"periodEnd": "string",
"periodStart": "string",
"webhookUrl": "string",
"accountNumber": "string",
"correlationId": "string",
"timeout": 3600
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/credit/requests/{requestId}/clones',
{
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/{requestId}/clones',
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/{requestId}/clones', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/credit/requests/{requestId}/clones");
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/{requestId}/clones", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /credit/requests/{requestId}/clones
Create a copy of a previous credit request
Using a clone to create a credit request allows you to submit a new credit request without needing account credentials. See /credit/requests
Body parameter
{
"periodEnd": "string",
"periodStart": "string",
"webhookUrl": "string",
"accountNumber": "string",
"correlationId": "string",
"timeout": 3600
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
requestId | path | integer(int64) | true | requestId |
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 |
webhookUrl | body | string | false | Urjanet will send status updates to this URL via HTTP events |
accountNumber | body | string | false | If provided, only data for this account will be extracted |
correlationId | body | string | false | An ID used to match the utility data pulled for this request back to users in your system |
timeout | body | integer(int32) | false | The length of time, in seconds, which Urjanet will continue to fulfill this request |
Example responses
200 Response
{
"_links": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"periodEnd": "string",
"periodStart": "string",
"mock": true
}
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 |
Retrieve Consent
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/credit/requests/{requestId}/consent \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/credit/requests/{requestId}/consent 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}/consent',
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}/consent',
{
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}/consent',
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}/consent', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/credit/requests/{requestId}/consent");
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}/consent", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /credit/requests/{requestId}/consent
Get the consent data for a request
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
requestId | path | integer(int64) | true | requestId |
Example responses
200 Response
{
"consentStatus": "string",
"credentialCreatedDate": "2022-04-27T17:18:51Z",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"origin": "API",
"privacyPolicyUrl": "string",
"revokeDate": "2022-04-27T17:18:51Z",
"termsOfServiceUrl": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ConsentResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
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": {
"providers": [
{
"_links": {
"serviceTypes": "string",
"parentProvider": "string",
"self": "string"
},
"providerName": "string",
"hasMultiFactorAuthentication": true,
"requiredFields": [
"string"
],
"requiredFieldMetadata": [
{
"fieldName": "string",
"fieldLabel": "string",
"fieldNumber": 0,
"fieldPart": 0,
"fieldLength": 0
}
],
"supportsCredentialValidation": true,
"country": "string",
"enabledSolutions": [
"CREDIT"
],
"serviceTypes": [
"string"
],
"providerId": "string",
"website": "string",
"hasPrepaid": true,
"hasPostpaid": true,
"mock": true,
"beta": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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": {
"serviceTypes": "string",
"parentProvider": "string",
"self": "string"
},
"providerName": "string",
"hasMultiFactorAuthentication": true,
"requiredFields": [
"string"
],
"requiredFieldMetadata": [
{
"fieldName": "string",
"fieldLabel": "string",
"fieldNumber": 0,
"fieldPart": 0,
"fieldLength": 0
}
],
"supportsCredentialValidation": true,
"country": "string",
"enabledSolutions": [
"CREDIT"
],
"serviceTypes": [
"string"
],
"providerId": "string",
"website": "string",
"hasPrepaid": true,
"hasPostpaid": true,
"mock": true,
"beta": true
}
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",
"interactive": true,
"periodEnd": "string",
"periodStart": "string",
"providerId": "string",
"timeout": 3600,
"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.
Real-time Credential Validation (RTCV)
The submit request endpoint is capable of testing the provided credential within 45 seconds of submission. In order to enable this functionality, the provider must support RTCV (indicated in the response of the list providers and retrieve provider endpoints) and the “interactive” parameter must be set to true. The credential validation response will be sent via webhook. These responses are listed here.
Body parameter
{
"accountNumber": "string",
"webhookUrl": "string",
"correlationId": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string",
"interactive": true,
"periodEnd": "string",
"periodStart": "string",
"providerId": "string",
"timeout": 3600,
"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 |
interactive | body | boolean | false | Indicates that your system can handle a challenge-response workflow (notably MFA). See here for more details. If set to true, webhookUrl is a required field. |
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": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"periodEnd": "string",
"periodStart": "string",
"mock": true
}
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": {
"requests": [
{
"_links": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"periodEnd": "string",
"periodStart": "string",
"mock": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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 |
Download Consent CSV
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/solar/requests/downloads/consent \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/solar/requests/downloads/consent 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/downloads/consent',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"search": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/solar/requests/downloads/consent',
{
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/downloads/consent',
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/downloads/consent', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/solar/requests/downloads/consent");
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/downloads/consent", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /solar/requests/downloads/consent
Initiate a download of all CREDIT request consents for a search
Body parameter
{
"search": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | body | string | false | An rsql search string |
Example responses
200 Response
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicDownloadRequestResource |
201 | Created | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
MFA Challenge
Code samples
# You can also use wget
curl -X PUT https://api.urjanet.com/solar/requests/{requestId}/challengeResponse \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
PUT https://api.urjanet.com/solar/requests/{requestId}/challengeResponse 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/solar/requests/{requestId}/challengeResponse',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"value": "string",
"challenge": "MFA_RESPONSE_ONE_TIME_PASS"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/solar/requests/{requestId}/challengeResponse',
{
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/solar/requests/{requestId}/challengeResponse',
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/solar/requests/{requestId}/challengeResponse', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/solar/requests/{requestId}/challengeResponse");
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/solar/requests/{requestId}/challengeResponse", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /solar/requests/{requestId}/challengeResponse
Submit the requested MFA information provided by a user
Body parameter
{
"value": "string",
"challenge": "MFA_RESPONSE_ONE_TIME_PASS"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
requestId | path | integer(int64) | true | requestId |
value | body | string | false | The requested value from the user for MFA input |
challenge | body | string | false | The particular challenge that this value corresponds to (e.g. one time pass, security question, etc) |
Enumerated Values
Parameter | Value |
---|---|
challenge | MFA_RESPONSE_ONE_TIME_PASS |
challenge | MFA_RESPONSE_CODE_METHOD |
challenge | MFA_RESPONSE_CAPTCHA_ANSWER |
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 |
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": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"periodEnd": "string",
"periodStart": "string",
"mock": true
}
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": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"periodEnd": "string",
"periodStart": "string",
"mock": true
}
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": {
"accounts": [
{
"prepaid": true,
"_links": {
"statements": "string",
"self": "string"
},
"accountNumber": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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
{
"prepaid": true,
"_links": {
"statements": "string",
"self": "string"
},
"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": {
"statements": [
{
"_links": {
"viewstatementsource": "string",
"self": "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,
"electricCost": 0,
"consumption": 0,
"demand": 0,
"tariff": "string",
"statementMessages": "string",
"statementIntervalStart": "string",
"statementIntervalEnd": "string",
"usageIntervalStart": "string",
"usageIntervalEnd": "string",
"statementType": "BILL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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 |
Submit Clone Request
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/solar/requests/{requestId}/clones \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/solar/requests/{requestId}/clones 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/{requestId}/clones',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"periodEnd": "string",
"periodStart": "string",
"webhookUrl": "string",
"accountNumber": "string",
"correlationId": "string",
"timeout": 3600
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/solar/requests/{requestId}/clones',
{
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/{requestId}/clones',
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/{requestId}/clones', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/solar/requests/{requestId}/clones");
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/{requestId}/clones", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /solar/requests/{requestId}/clones
Create a copy of a previous solar request
Using a clone to create a solar request allows you to submit a new solar request without needing account credentials. See /solar/requests
Body parameter
{
"periodEnd": "string",
"periodStart": "string",
"webhookUrl": "string",
"accountNumber": "string",
"correlationId": "string",
"timeout": 3600
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
requestId | path | integer(int64) | true | requestId |
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 |
webhookUrl | body | string | false | Urjanet will send status updates to this URL via HTTP events |
accountNumber | body | string | false | If provided, only data for this account will be extracted |
correlationId | body | string | false | An ID used to match the utility data pulled for this request back to users in your system |
timeout | body | integer(int32) | false | The length of time, in seconds, which Urjanet will continue to fulfill this request |
Example responses
200 Response
{
"_links": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"periodEnd": "string",
"periodStart": "string",
"mock": true
}
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 |
Retrieve Consent
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/solar/requests/{requestId}/consent \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/solar/requests/{requestId}/consent 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}/consent',
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}/consent',
{
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}/consent',
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}/consent', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/solar/requests/{requestId}/consent");
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}/consent", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /solar/requests/{requestId}/consent
Get the consent data for a request
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
requestId | path | integer(int64) | true | requestId |
Example responses
200 Response
{
"consentStatus": "string",
"credentialCreatedDate": "2022-04-27T17:18:51Z",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"origin": "API",
"privacyPolicyUrl": "string",
"revokeDate": "2022-04-27T17:18:51Z",
"termsOfServiceUrl": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ConsentResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
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": {
"providers": [
{
"_links": {
"serviceTypes": "string",
"parentProvider": "string",
"self": "string"
},
"providerName": "string",
"hasMultiFactorAuthentication": true,
"requiredFields": [
"string"
],
"requiredFieldMetadata": [
{
"fieldName": "string",
"fieldLabel": "string",
"fieldNumber": 0,
"fieldPart": 0,
"fieldLength": 0
}
],
"supportsCredentialValidation": true,
"country": "string",
"enabledSolutions": [
"CREDIT"
],
"serviceTypes": [
"string"
],
"providerId": "string",
"website": "string",
"hasPrepaid": true,
"hasPostpaid": true,
"mock": true,
"beta": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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": {
"serviceTypes": "string",
"parentProvider": "string",
"self": "string"
},
"providerName": "string",
"hasMultiFactorAuthentication": true,
"requiredFields": [
"string"
],
"requiredFieldMetadata": [
{
"fieldName": "string",
"fieldLabel": "string",
"fieldNumber": 0,
"fieldPart": 0,
"fieldLength": 0
}
],
"supportsCredentialValidation": true,
"country": "string",
"enabledSolutions": [
"CREDIT"
],
"serviceTypes": [
"string"
],
"providerId": "string",
"website": "string",
"hasPrepaid": true,
"hasPostpaid": true,
"mock": true,
"beta": true
}
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",
"interactive": true,
"providerId": "string",
"timeout": 3600,
"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.
Real-time Credential Validation (RTCV)
The submit request endpoint is capable of testing the provided credential within 45 seconds of submission. In order to enable this functionality, the provider must support RTCV (indicated in the response of the list providers and retrieve provider endpoints) and the “interactive” parameter must be set to true. The credential validation response will be sent via webhook. These responses are listed here.
Body parameter
{
"accountNumber": "string",
"webhookUrl": "string",
"correlationId": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string",
"interactive": true,
"providerId": "string",
"timeout": 3600,
"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 |
interactive | body | boolean | false | Indicates that your system can handle a challenge-response workflow (notably MFA). See here for more details. If set to true, webhookUrl is a required field. |
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": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"mock": true
}
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": {
"requests": [
{
"_links": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"mock": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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 |
Download Requests
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/identity/requests/downloads/consent \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/identity/requests/downloads/consent 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/downloads/consent',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"search": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/identity/requests/downloads/consent',
{
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/downloads/consent',
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/downloads/consent', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/identity/requests/downloads/consent");
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/downloads/consent", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /identity/requests/downloads/consent
Initiate a download of all CREDIT request consents for a search
Body parameter
{
"search": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | body | string | false | An rsql search string |
Example responses
200 Response
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicDownloadRequestResource |
201 | Created | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
MFA Challenge
Code samples
# You can also use wget
curl -X PUT https://api.urjanet.com/identity/requests/{requestId}/challengeResponse \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
PUT https://api.urjanet.com/identity/requests/{requestId}/challengeResponse 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/identity/requests/{requestId}/challengeResponse',
method: 'put',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"value": "string",
"challenge": "MFA_RESPONSE_ONE_TIME_PASS"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/identity/requests/{requestId}/challengeResponse',
{
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/identity/requests/{requestId}/challengeResponse',
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/identity/requests/{requestId}/challengeResponse', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/identity/requests/{requestId}/challengeResponse");
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/identity/requests/{requestId}/challengeResponse", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PUT /identity/requests/{requestId}/challengeResponse
Submit the requested MFA information provided by a user
Body parameter
{
"value": "string",
"challenge": "MFA_RESPONSE_ONE_TIME_PASS"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
requestId | path | integer(int64) | true | requestId |
value | body | string | false | The requested value from the user for MFA input |
challenge | body | string | false | The particular challenge that this value corresponds to (e.g. one time pass, security question, etc) |
Enumerated Values
Parameter | Value |
---|---|
challenge | MFA_RESPONSE_ONE_TIME_PASS |
challenge | MFA_RESPONSE_CODE_METHOD |
challenge | MFA_RESPONSE_CAPTCHA_ANSWER |
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 |
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": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"mock": true
}
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": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"mock": true
}
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": {
"accounts": [
{
"prepaid": true,
"_links": {
"statements": "string",
"self": "string"
},
"accountNumber": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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
{
"prepaid": true,
"_links": {
"statements": "string",
"self": "string"
},
"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": {
"statements": [
{
"_links": {
"viewstatementsource": "string",
"self": "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",
"statementDate": "string",
"statementType": "BILL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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 |
Submit Clone Request
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/identity/requests/{requestId}/clones \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/identity/requests/{requestId}/clones 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/{requestId}/clones',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"periodEnd": "string",
"periodStart": "string",
"webhookUrl": "string",
"accountNumber": "string",
"correlationId": "string",
"timeout": 3600
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/identity/requests/{requestId}/clones',
{
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/{requestId}/clones',
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/{requestId}/clones', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/identity/requests/{requestId}/clones");
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/{requestId}/clones", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /identity/requests/{requestId}/clones
Create a copy of a previous identity request
Using a clone to create a identity request allows you to submit a new identity request without needing account credentials. See /identity/requests
Body parameter
{
"periodEnd": "string",
"periodStart": "string",
"webhookUrl": "string",
"accountNumber": "string",
"correlationId": "string",
"timeout": 3600
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
requestId | path | integer(int64) | true | requestId |
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 |
webhookUrl | body | string | false | Urjanet will send status updates to this URL via HTTP events |
accountNumber | body | string | false | If provided, only data for this account will be extracted |
correlationId | body | string | false | An ID used to match the utility data pulled for this request back to users in your system |
timeout | body | integer(int32) | false | The length of time, in seconds, which Urjanet will continue to fulfill this request |
Example responses
200 Response
{
"_links": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"mock": true
}
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 |
Retrieve Consent
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/identity/requests/{requestId}/consent \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/identity/requests/{requestId}/consent 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}/consent',
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}/consent',
{
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}/consent',
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}/consent', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/identity/requests/{requestId}/consent");
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}/consent", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /identity/requests/{requestId}/consent
Get the consent data for a request
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
requestId | path | integer(int64) | true | requestId |
Example responses
200 Response
{
"consentStatus": "string",
"credentialCreatedDate": "2022-04-27T17:18:51Z",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"origin": "API",
"privacyPolicyUrl": "string",
"revokeDate": "2022-04-27T17:18:51Z",
"termsOfServiceUrl": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ConsentResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Bill Payment/AP Automation
The Bill Payment API (formerly known as AP Automation) is designed to provide access to utility data for enabling automated bill payment. The data Urjanet collects is formatted to show the utility bill details that are relevant for processing and paying.
Credential Status
Urjanet provides credential status in Console and through the API’s credential level endpoints. When the credential job is complete, the credential’s status and status detail display the credential's current state. For example, if a credential status is OK - No Action Required, the credential’s login was successful and statements were extracted.
See below for a complete list of credential statuses.
Completion Status | Completion Status Detail | Description |
---|---|---|
OK | NO_ACTION_REQUIRED | No action required |
PENDING | WEBSITE_DOWN | Temporary problem in accessing the website |
PENDING | UNDER_REVIEW | Urjanet is reviewing the issue and will update the status shortly |
PENDING | STATEMENT_UNAVAILABLE | Temporary problem in accessing bills within this credential |
PENDING | NAVIGATION_FAILURE | No action required |
ACTION_REQUIRED | LOGIN_FAILURE | Login attempt failed. Update your credentials, and the system will try again |
ACTION_REQUIRED | NO_ACCOUNTS_FOUND | No accounts found within this credential |
ACTION_REQUIRED | UNSUPPORTED_CAPTCHA | Login failed due to a captcha required by the utility. In some cases, captcha can be disabled in the utility's website settings. |
ACTION_REQUIRED | MULTI_FACTOR_AUTH_FAILURE | Login failed due to PIN or Access Code required by the utility for login. |
ACTION_REQUIRED | USER_ACTION_REQUIRED | Login attempt passed, but unable to reach to the account information |
ACTION_REQUIRED | SECURITY_QUESTIONS | Login attempt failed due to security questions posed by the utility. Add security questions & answers using the additional login fields. |
ACTION_REQUIRED | ACCOUNT_LOCKED | Login failed due to account lockout. Please unlock the account. |
ACTION_REQUIRED | E_BILL_REQUIRED | Enrollment in electronic billing is required to access online statements. |
Account Status
Urjanet provides account status in Console and through the API’s account level endpoints. When the account job is complete, the account’s status and status detail display the account’s current state. For example, if an account status is OK - No Action Required, the account’s credential login was successful and statements were extracted.
See below for a complete list of account statuses.
Completion Status | Completion Status Detail | Description |
---|---|---|
OK | NO_ACTION_REQUIRED | No action required |
PENDING | EXTRACTION FAILURE | Pending an Urjanet fix |
PENDING | WEBSITE_DOWN | Temporary problem in accessing the website |
PENDING | UNDER_REVIEW | Urjanet is reviewing the issue and will update the status shortly |
PENDING | STATEMENT_UNAVAILABLE | Temporary problem in accessing bills within this credential |
PENDING | NAVIGATION_FAILURE | No action required |
ACCESS_ISSUE | ACCOUNT_NOT_FOUND | Account not found in site |
ACCESS_ISSUE | E_BILL_REQUIRED | Enrollment in electronic billing is required to access online statements. |
ACCESS_ISSUE | INVALID_SOURCE | The data source available is in a format rejected by your organization. |
ACCESS_ISSUE | ACCOUNT_NUMBER_CHANGE | Account number changed and this is no longer valid. Unsubscribe it. |
OLD | DORMANT | Account has not seen a new bill for 45 days |
OLD | ACCOUNT_CLOSED | This account has received a Final Bill notice or has been marked inactive on the provider's website. |
List Providers
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/providers \
-H 'Accept: application/hal+json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/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/apautomation/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/apautomation/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/apautomation/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/apautomation/providers', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/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/apautomation/providers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/providers
Search for a list of utility providers
Providers are the utility companies that Urjanet supports. In order to submit a request to Urjanet, you will need a providerID. List Providers allows you to query the providers endpoint to find a list of providers that meet specific criteria or to search for a specific provider.
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": {
"providers": [
{
"_links": {
"serviceTypes": "string",
"parentProvider": "string",
"self": "string"
},
"providerName": "string",
"hasMultiFactorAuthentication": true,
"requiredFields": [
"string"
],
"requiredFieldMetadata": [
{
"fieldName": "string",
"fieldLabel": "string",
"fieldNumber": 0,
"fieldPart": 0,
"fieldLength": 0
}
],
"supportsCredentialValidation": true,
"country": "string",
"enabledSolutions": [
"CREDIT"
],
"serviceTypes": [
"string"
],
"providerId": "string",
"website": "string",
"hasPrepaid": true,
"hasPostpaid": true,
"mock": true,
"beta": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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/apautomation/providers/{providerId} \
-H 'Accept: application/hal+json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/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/apautomation/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/apautomation/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/apautomation/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/apautomation/providers/{providerId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/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/apautomation/providers/{providerId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/providers/{providerId}
Retrieve the details of a specific provider
Once you have found a specific provider that you would like to submit a request for, you can see the details of that provider using the Retrieve Provider endpoint. This allows you to understand specific details of a utility provider like the required login fields, what solutions are enabled for this provider and the service type.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
providerId | path | string | true | providerId |
Example responses
200 Response
{
"_links": {
"serviceTypes": "string",
"parentProvider": "string",
"self": "string"
},
"providerName": "string",
"hasMultiFactorAuthentication": true,
"requiredFields": [
"string"
],
"requiredFieldMetadata": [
{
"fieldName": "string",
"fieldLabel": "string",
"fieldNumber": 0,
"fieldPart": 0,
"fieldLength": 0
}
],
"supportsCredentialValidation": true,
"country": "string",
"enabledSolutions": [
"CREDIT"
],
"serviceTypes": [
"string"
],
"providerId": "string",
"website": "string",
"hasPrepaid": true,
"hasPostpaid": true,
"mock": true,
"beta": true
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicProviderResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Create Credential
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/apautomation/providers/{providerId}/credentials \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/apautomation/providers/{providerId}/credentials 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/apautomation/providers/{providerId}/credentials',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"correlationId": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/providers/{providerId}/credentials',
{
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/apautomation/providers/{providerId}/credentials',
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/apautomation/providers/{providerId}/credentials', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/providers/{providerId}/credentials");
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/apautomation/providers/{providerId}/credentials", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /apautomation/providers/{providerId}/credentials
Create a credential
The credentials endpoint can also be used to create a new credential in the system. In order to create a new credential in the system, you must use the provider Id in the path and submit the required username and password as defined by the providers endpoint, and an organizationId.
Body parameter
{
"correlationId": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
providerId | path | string | true | providerId |
correlationId | body | string | false | An ID used to match the utility data pulled for this request back to users in your system |
username | body | string | false | 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 |
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 |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"refreshUrl": "string",
"download": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:51Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Credentials
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/credentials \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/credentials 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/apautomation/credentials',
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/apautomation/credentials',
{
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/apautomation/credentials',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/credentials', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials");
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/apautomation/credentials", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/credentials
Get all credentials
A credential is defined as a set of login requirements needed for Urjanet to access data from utility providers. The credentials endpoints allows you to get a list of all the credentials that are in the Urjanet system.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | query | string | false | search |
Example responses
200 Response
{
"_embedded": {
"credentials": [
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"refreshUrl": "string",
"download": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:51Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicCredentialResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Credential Deletion Logs
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/credentials/deleted \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/credentials/deleted 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/apautomation/credentials/deleted',
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/apautomation/credentials/deleted',
{
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/apautomation/credentials/deleted',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/credentials/deleted', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/deleted");
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/apautomation/credentials/deleted", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/credentials/deleted
Search deletion logs
Criteria recognized: operation, created, createdBy
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | query | string | false | An RSQL query string |
Example responses
200 Response
{
"_embedded": {
"deletionLogs": [
{
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicCredentialDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Delete Credentials
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/apautomation/credentials/deleted \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/apautomation/credentials/deleted 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/apautomation/credentials/deleted',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"ids": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/credentials/deleted',
{
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/apautomation/credentials/deleted',
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/apautomation/credentials/deleted', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/deleted");
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/apautomation/credentials/deleted", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /apautomation/credentials/deleted
Create a count of credentials/accounts/statements that would be deleted for the given Credential IDs
Before deleting a credential, it is recommended that you understand the impact of the deletion. To do this, the credentials/deleted endpoint can be used. This will return a list of credentials, accounts, and statements that will be impacted by the deletion.
Body parameter
{
"ids": [
"string"
]
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
ids | body | [string] | false | none |
Example responses
200 Response
{
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Resend Credential webhooks
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/apautomation/credentials/lastWebhook \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/apautomation/credentials/lastWebhook 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/apautomation/credentials/lastWebhook',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"resourceIds": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/credentials/lastWebhook',
{
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/apautomation/credentials/lastWebhook',
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/apautomation/credentials/lastWebhook', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/lastWebhook");
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/apautomation/credentials/lastWebhook", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /apautomation/credentials/lastWebhook
Submit a request to resend webhooks for credentials and the associated accounts
Resend webhooks for list of credentials and the accounts associated with each credential. Make sure that webhook is set for your organization.
Body parameter
{
"resourceIds": [
"string"
]
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
resourceIds | body | [string] | true | List of credential IDs |
Example responses
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
202 | Accepted | Accepted | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Get A Credential Deletion Log
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/credentials/deleted/{deletionLogId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/credentials/deleted/{deletionLogId} 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/apautomation/credentials/deleted/{deletionLogId}',
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/apautomation/credentials/deleted/{deletionLogId}',
{
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/apautomation/credentials/deleted/{deletionLogId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/credentials/deleted/{deletionLogId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/deleted/{deletionLogId}");
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/apautomation/credentials/deleted/{deletionLogId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/credentials/deleted/{deletionLogId}
Get a specific existing DeletionLog row
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
deletionLogId | path | string | true | deletionLogId |
Example responses
200 Response
{
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Delete Credentials By Deletion Log
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/apautomation/credentials/deleted/{deletionLogId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/apautomation/credentials/deleted/{deletionLogId} 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/apautomation/credentials/deleted/{deletionLogId}',
method: 'post',
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/apautomation/credentials/deleted/{deletionLogId}',
{
method: 'POST',
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.post 'https://api.urjanet.com/apautomation/credentials/deleted/{deletionLogId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.urjanet.com/apautomation/credentials/deleted/{deletionLogId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/deleted/{deletionLogId}");
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{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.urjanet.com/apautomation/credentials/deleted/{deletionLogId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /apautomation/credentials/deleted/{deletionLogId}
Delete the given Credential IDs and update the deletion log
After understanding the impact of a deletion using the credentials/deleted endpoint, you can execute the deletion using this endpoint. This will also update the deletion log.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
deletionLogId | path | string | true | deletionLogId |
Example responses
200 Response
{
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Retrieve Credential
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/credentials/{credentialId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/credentials/{credentialId} 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/apautomation/credentials/{credentialId}',
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/apautomation/credentials/{credentialId}',
{
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/apautomation/credentials/{credentialId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/credentials/{credentialId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/{credentialId}");
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/apautomation/credentials/{credentialId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/credentials/{credentialId}
Retrieve a single credential
If you have the credentialId for a specific credential, you can get the details of that credential.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"refreshUrl": "string",
"download": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:51Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Update Credential
Code samples
# You can also use wget
curl -X PATCH https://api.urjanet.com/apautomation/credentials/{credentialId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.urjanet.com/apautomation/credentials/{credentialId} 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/apautomation/credentials/{credentialId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"enabled": true,
"correlationId": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string",
"interactive": true,
"runHistory": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/credentials/{credentialId}',
{
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' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.urjanet.com/apautomation/credentials/{credentialId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.urjanet.com/apautomation/credentials/{credentialId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/{credentialId}");
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{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.urjanet.com/apautomation/credentials/{credentialId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /apautomation/credentials/{credentialId}
Update a credential
To make updates to a credential, make a PATCH call to the credentials endpoint with a specific credentialId. For a list of fields that can be updated look here.
Body parameter
{
"enabled": true,
"correlationId": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string",
"interactive": true,
"runHistory": true
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
enabled | body | boolean | false | Controls whether data will continue to be extracted behind this credential. |
correlationId | body | string | false | An ID used to match the utility data pulled for this request back to users in your system |
username | body | string | false | 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 |
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 |
interactive | body | boolean | false | none |
runHistory | body | boolean | false | none |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"refreshUrl": "string",
"download": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:51Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialResource |
204 | No Content | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
List Credential's Accounts
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/credentials/{credentialId}/accounts \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/credentials/{credentialId}/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/apautomation/credentials/{credentialId}/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/apautomation/credentials/{credentialId}/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/apautomation/credentials/{credentialId}/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/apautomation/credentials/{credentialId}/accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/{credentialId}/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/apautomation/credentials/{credentialId}/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/credentials/{credentialId}/accounts
Get all Accounts for a Credential
If you would like to find all the accounts that exist behind a credential, you can use this credentials endpoint.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
search | query | string | false | search |
Example responses
200 Response
{
"_embedded": {
"accounts": [
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicAccountResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Generate Update Password URL
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/credentials/{credentialId}/updateUrl \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/credentials/{credentialId}/updateUrl 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/apautomation/credentials/{credentialId}/updateUrl',
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/apautomation/credentials/{credentialId}/updateUrl',
{
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/apautomation/credentials/{credentialId}/updateUrl',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/credentials/{credentialId}/updateUrl', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/{credentialId}/updateUrl");
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/apautomation/credentials/{credentialId}/updateUrl", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/credentials/{credentialId}/updateUrl
Generate a link to Connect that allows a user to update their password
This endpoint generates a URL that allows a user to update their password for a specified credential. The URL generated will only work for 72 hours after it is generated.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
Example responses
200 Response
{
"updateUrl": "string",
"expiration": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialUrlResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Credential Events
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/credentials/{credentialId}/events \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/credentials/{credentialId}/events 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/apautomation/credentials/{credentialId}/events',
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/apautomation/credentials/{credentialId}/events',
{
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/apautomation/credentials/{credentialId}/events',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/credentials/{credentialId}/events', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/{credentialId}/events");
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/apautomation/credentials/{credentialId}/events", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/credentials/{credentialId}/events
Get all credential events
This endpoint allows you to view the event history for a credential. For example, you query this endpoint to find out when a credential was created and who it was created by.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
search | query | string | false | search |
Example responses
200 Response
{
"_embedded": {
"credentialEvents": [
{
"_links": {
"self": "string"
},
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"eventType": "CREDENTIAL_CREATED",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicCredentialEventResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Retrieve Consent
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/credentials/{credentialId}/consent \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/credentials/{credentialId}/consent 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/apautomation/credentials/{credentialId}/consent',
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/apautomation/credentials/{credentialId}/consent',
{
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/apautomation/credentials/{credentialId}/consent',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/credentials/{credentialId}/consent', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/{credentialId}/consent");
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/apautomation/credentials/{credentialId}/consent", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/credentials/{credentialId}/consent
Get credential consent information
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
Example responses
200 Response
{
"consentStatus": "string",
"credentialCreatedDate": "2022-04-27T17:18:51Z",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"origin": "API",
"privacyPolicyUrl": "string",
"revokeDate": "2022-04-27T17:18:51Z",
"termsOfServiceUrl": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ConsentResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Get Sensitive Credentials
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/credentials/{credentialId}/passwords \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/credentials/{credentialId}/passwords 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/apautomation/credentials/{credentialId}/passwords',
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/apautomation/credentials/{credentialId}/passwords',
{
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/apautomation/credentials/{credentialId}/passwords',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/credentials/{credentialId}/passwords', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/{credentialId}/passwords");
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/apautomation/credentials/{credentialId}/passwords", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/credentials/{credentialId}/passwords
Get the sensitive information for a credential
This endpoint allows you to retrieve the passwords for a given credential.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
Example responses
200 Response
{
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CredentialSecretsResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Credentials Download Request
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/apautomation/credentials/downloads \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/apautomation/credentials/downloads 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/apautomation/credentials/downloads',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"credentialCriteria": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/credentials/downloads',
{
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/apautomation/credentials/downloads',
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/apautomation/credentials/downloads', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/downloads");
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/apautomation/credentials/downloads", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /apautomation/credentials/downloads
Submit a download request for all the credentials
Downloading a CSV file with credentials and associated metadata is actually a 2 step process. The first step (this one) prepares the download and provides a URL that can be used for downloading the CSV file. The next step is to download the file using the returned URL. The contents of the file will follow this schema.
Body parameter
{
"credentialCriteria": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialCriteria | body | string | false | An RSQL search string for a list of credentials |
Example responses
200 Response
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicDownloadRequestResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Download Consent CSV
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/apautomation/credentials/downloads/consent \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/apautomation/credentials/downloads/consent 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/apautomation/credentials/downloads/consent',
method: 'post',
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/apautomation/credentials/downloads/consent',
{
method: 'POST',
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.post 'https://api.urjanet.com/apautomation/credentials/downloads/consent',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.urjanet.com/apautomation/credentials/downloads/consent', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/downloads/consent");
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{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.urjanet.com/apautomation/credentials/downloads/consent", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /apautomation/credentials/downloads/consent
Submit a DownloadRequest for Consent Information as CSV
The contents of the file will follow this schema.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | query | string | false | search |
Example responses
200 Response
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicDownloadRequestResource |
201 | Created | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Credential Sample File Download
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/providers/{providerId}/credentials/bulkuploads/sample \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/providers/{providerId}/credentials/bulkuploads/sample HTTP/1.1
Host: api.urjanet.com
Accept: */*
var headers = {
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.urjanet.com/apautomation/providers/{providerId}/credentials/bulkuploads/sample',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/providers/{providerId}/credentials/bulkuploads/sample',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => '*/*',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.urjanet.com/apautomation/providers/{providerId}/credentials/bulkuploads/sample',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': '*/*',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/providers/{providerId}/credentials/bulkuploads/sample', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/providers/{providerId}/credentials/bulkuploads/sample");
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{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.urjanet.com/apautomation/providers/{providerId}/credentials/bulkuploads/sample", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/providers/{providerId}/credentials/bulkuploads/sample
Get the CSV credential upload sample for a particular provider
Each provider has the potential of having distinct input fields as login credentials. To ensure that you have the correct fields for a provider before submitting bulk credentials, you can download a CSV that lists the required fields. In addition to credential fields, the correlation and custom data fields are also included as optional fields.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
providerId | path | string | true | request |
Example responses
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
202 | Accepted | Accepted | None |
204 | No Content | No Content | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | 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 | |
200 | Content-Disposition | string | none |
Statements Download Request
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/apautomation/statements/downloads \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/apautomation/statements/downloads 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/apautomation/statements/downloads',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"search": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/statements/downloads',
{
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/apautomation/statements/downloads',
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/apautomation/statements/downloads', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/statements/downloads");
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/apautomation/statements/downloads", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /apautomation/statements/downloads
Submit a download request for all the statements for selected search criteria
Downloading a CSV file with accounts, statements, and associated metadata is actually a 2 step process. The first step (this one) prepares the download and provides a URL that can be used for downloading the CSV file. The next step is to download the file using the returned URL. The contents of the file will follow this schema.
Body parameter
{
"search": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | body | string | false | An RSQL search string for a list of statements |
Example responses
200 Response
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicDownloadRequestResource |
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/apautomation/statements \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/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/apautomation/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/apautomation/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/apautomation/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/apautomation/statements', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/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/apautomation/statements", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/statements
Get a list of statements in the Urjanet system
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | query | string | false | An RSQL query string |
Example responses
200 Response
{
"_embedded": {
"statements": [
{
"_links": {
"accounts": "string",
"source": "string",
"meters": "string",
"charges": "string",
"self": "string"
},
"serviceAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"billingAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"paymentAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"amountDue": 0,
"balance": 0,
"lateFees": 0,
"dueDate": "2022-04-27",
"endDate": "2022-04-27",
"invoiceNumber": "string",
"createdDate": "2022-04-27",
"modifiedDate": "2022-04-27",
"startDate": "2022-04-27",
"statementDate": "2022-04-27",
"statementType": "BILL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicStatementResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Create Account
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/apautomation/accounts \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/apautomation/accounts 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/apautomation/accounts',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"accountNumber": "string",
"enabled": true,
"providerId": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/accounts',
{
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/apautomation/accounts',
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/apautomation/accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/accounts");
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/apautomation/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /apautomation/accounts
Create a new account in the Urjanet system
The Urjanet system does not require you to provide an expected account in order to start receiving data. If you know which specific accounts you would like Urjanet to retrieve, you can use this Accounts endpoint.
Body parameter
{
"accountNumber": "string",
"enabled": true,
"providerId": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountNumber | body | string | false | none |
enabled | body | boolean | false | Controls whether data will continue to be extracted for this account. |
providerId | body | string | false | The primary key used to represent this provider |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicAccountResource |
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/apautomation/accounts \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/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/apautomation/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/apautomation/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/apautomation/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/apautomation/accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/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/apautomation/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/accounts
Get a list of accounts in the Urjanet system
Urjanet retrieves Accounts from utility providers using the credentials that are submitted. There can be multiple accounts behind a credential. The Accounts endpoint allows you to query for a list of accounts that are currently in the Urjanet system.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | query | string | false | An RSQL query string |
Example responses
200 Response
{
"_embedded": {
"accounts": [
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicAccountResource |
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/apautomation/accounts/{accountId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/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/apautomation/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/apautomation/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/apautomation/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/apautomation/accounts/{accountId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/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/apautomation/accounts/{accountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/accounts/{accountId}
Retrieve a single account from the Urjanet system
If you already know the accountId for an account, you can use the Accounts endpoint to retrieve the details of that specific account.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicAccountResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Update Account
Code samples
# You can also use wget
curl -X PATCH https://api.urjanet.com/apautomation/accounts/{accountId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.urjanet.com/apautomation/accounts/{accountId} 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/apautomation/accounts/{accountId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"enabled": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/accounts/{accountId}',
{
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' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.urjanet.com/apautomation/accounts/{accountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.urjanet.com/apautomation/accounts/{accountId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/accounts/{accountId}");
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{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.urjanet.com/apautomation/accounts/{accountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /apautomation/accounts/{accountId}
Update an Account
To make updates to a specific account, you can make a PATCH call to the accounts endpoint. A list of specific fields that can be updated can be found here.
Body parameter
{
"enabled": true
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
enabled | body | boolean | false | Controls whether data will continue to be extracted for this account. |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicAccountResource |
204 | No Content | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
List Account Deletion Logs
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/accounts/deleted \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/accounts/deleted 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/apautomation/accounts/deleted',
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/apautomation/accounts/deleted',
{
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/apautomation/accounts/deleted',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/accounts/deleted', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/accounts/deleted");
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/apautomation/accounts/deleted", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/accounts/deleted
Search deletion logs
Criteria recognized: operation, created, createdBy
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | query | string | false | An RSQL query string |
Example responses
200 Response
{
"_embedded": {
"deletionLogs": [
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicAccountDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Delete Accounts
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/apautomation/accounts/deleted \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/apautomation/accounts/deleted 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/apautomation/accounts/deleted',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"ids": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/accounts/deleted',
{
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/apautomation/accounts/deleted',
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/apautomation/accounts/deleted', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/accounts/deleted");
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/apautomation/accounts/deleted", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /apautomation/accounts/deleted
Create a count of credentials/accounts/statements that would be deleted for the given Credential IDs
Before deleting an account, it is recommended that you understand the impact of the deletion. To do this, the accounts/deleted endpoint can be used. This will return a list of credentials, accounts, and statements that will be impacted by the deletion.
Body parameter
{
"ids": [
"string"
]
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
ids | body | [string] | false | none |
Example responses
200 Response
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicAccountDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Get An Account Deletion Log
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/accounts/deleted/{deletionLogId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/accounts/deleted/{deletionLogId} 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/apautomation/accounts/deleted/{deletionLogId}',
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/apautomation/accounts/deleted/{deletionLogId}',
{
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/apautomation/accounts/deleted/{deletionLogId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/accounts/deleted/{deletionLogId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/accounts/deleted/{deletionLogId}");
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/apautomation/accounts/deleted/{deletionLogId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/accounts/deleted/{deletionLogId}
Get a specific existing DeletionLog row
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
deletionLogId | path | string | true | deletionLogId |
Example responses
200 Response
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicAccountDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Delete Accounts By Deletion Log
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/apautomation/accounts/deleted/{deletionLogId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/apautomation/accounts/deleted/{deletionLogId} 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/apautomation/accounts/deleted/{deletionLogId}',
method: 'post',
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/apautomation/accounts/deleted/{deletionLogId}',
{
method: 'POST',
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.post 'https://api.urjanet.com/apautomation/accounts/deleted/{deletionLogId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.urjanet.com/apautomation/accounts/deleted/{deletionLogId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/accounts/deleted/{deletionLogId}");
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{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.urjanet.com/apautomation/accounts/deleted/{deletionLogId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /apautomation/accounts/deleted/{deletionLogId}
Delete the given Account IDs and update the deletion log
Delete the given Account IDs and update the deletion log
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
deletionLogId | path | string | true | deletionLogId |
Example responses
200 Response
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicAccountDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Account Download Request
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/apautomation/accounts/{accountId}/downloads \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/apautomation/accounts/{accountId}/downloads 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/apautomation/accounts/{accountId}/downloads',
method: 'post',
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/apautomation/accounts/{accountId}/downloads',
{
method: 'POST',
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.post 'https://api.urjanet.com/apautomation/accounts/{accountId}/downloads',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.urjanet.com/apautomation/accounts/{accountId}/downloads', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/accounts/{accountId}/downloads");
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{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.urjanet.com/apautomation/accounts/{accountId}/downloads", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /apautomation/accounts/{accountId}/downloads
Submit a download request for an account, its statements, and the associate metadata
Downloading a CSV file with accounts and associated metadata is actually a 2 step process. The first step (this one) prepares the download and provides a URL that can be used for downloading the CSV file. The next step is to download the file using the returned URL. The contents of the file will follow this schema.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
Example responses
200 Response
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicDownloadRequestResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Accounts Download Request
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/apautomation/accounts/downloads \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/apautomation/accounts/downloads 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/apautomation/accounts/downloads',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"accountIds": "string",
"search": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/accounts/downloads',
{
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/apautomation/accounts/downloads',
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/apautomation/accounts/downloads', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/accounts/downloads");
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/apautomation/accounts/downloads", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /apautomation/accounts/downloads
Submit a download request for all the statements for selected accounts
Downloading a CSV file with accounts, statements, and associated metadata is actually a 2 step process. The first step (this one) prepares the download and provides a URL that can be used for downloading the CSV file. The next step is to download the file using the returned URL. The contents of the file will follow this schema.
Body parameter
{
"accountIds": "string",
"search": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountIds | body | string | false | A comma-separated list of account IDs |
search | body | string | false | An RSQL search string for a list of accounts |
Example responses
200 Response
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicDownloadRequestResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Sub-Accounts
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/accounts/{accountId}/subAccounts \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/accounts/{accountId}/subAccounts 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/apautomation/accounts/{accountId}/subAccounts',
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/apautomation/accounts/{accountId}/subAccounts',
{
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/apautomation/accounts/{accountId}/subAccounts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/accounts/{accountId}/subAccounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/accounts/{accountId}/subAccounts");
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/apautomation/accounts/{accountId}/subAccounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/accounts/{accountId}/subAccounts
List all sub-accounts of a summary account
With the subAccounts endpoint, you can get a list of sub accounts associated with a summary account. This allows you to understand the relationship between summary accounts and sub accounts.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
search | query | string | false | search |
Example responses
200 Response
{
"_embedded": {
"accounts": [
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicAccountResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Account's Credentials
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/accounts/{accountId}/credentials \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/accounts/{accountId}/credentials 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/apautomation/accounts/{accountId}/credentials',
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/apautomation/accounts/{accountId}/credentials',
{
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/apautomation/accounts/{accountId}/credentials',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/accounts/{accountId}/credentials', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/accounts/{accountId}/credentials");
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/apautomation/accounts/{accountId}/credentials", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/accounts/{accountId}/credentials
Get all Credentials for an Account
For a specific account, you can list all credentials that have access to this account. This allows you to manage access to a specific account.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
search | query | string | false | search |
Example responses
200 Response
{
"_embedded": {
"credentials": [
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"refreshUrl": "string",
"download": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:51Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicCredentialResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Account's Events
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/accounts/{accountId}/events \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/accounts/{accountId}/events 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/apautomation/accounts/{accountId}/events',
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/apautomation/accounts/{accountId}/events',
{
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/apautomation/accounts/{accountId}/events',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/accounts/{accountId}/events', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/accounts/{accountId}/events");
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/apautomation/accounts/{accountId}/events", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/accounts/{accountId}/events
Get all Events for an Account
This endpoint allows you to view the event history for an account. For example, you query this endpoint to find out when an account was created and who it was created by.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
search | query | string | false | search |
Example responses
200 Response
{
"_embedded": {
"accountEvents": [
{
"_links": {
"self": "string"
},
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"eventType": "ACCOUNT_REQUESTED",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicAccountEventResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Account's Statements
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/accounts/{accountId}/statements \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/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/apautomation/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/apautomation/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/apautomation/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/apautomation/accounts/{accountId}/statements', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/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/apautomation/accounts/{accountId}/statements", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/accounts/{accountId}/statements
List all Statements for a given Account
If you have a specific accountId and you would like to get all statements for that account, you can use the Accounts, Statements endpoint.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
Example responses
200 Response
{
"_embedded": {
"statements": [
{
"_links": {
"accounts": "string",
"source": "string",
"meters": "string",
"charges": "string",
"self": "string"
},
"serviceAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"billingAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"paymentAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"amountDue": 0,
"balance": 0,
"lateFees": 0,
"dueDate": "2022-04-27",
"endDate": "2022-04-27",
"invoiceNumber": "string",
"createdDate": "2022-04-27",
"modifiedDate": "2022-04-27",
"startDate": "2022-04-27",
"statementDate": "2022-04-27",
"statementType": "BILL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicStatementResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Retrieve Statement
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/statements/{statementId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/statements/{statementId} 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/apautomation/statements/{statementId}',
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/apautomation/statements/{statementId}',
{
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/apautomation/statements/{statementId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/statements/{statementId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/statements/{statementId}");
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/apautomation/statements/{statementId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/statements/{statementId}
Get a single Statement
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
statementId | path | string | true | statementId |
Example responses
200 Response
{
"_links": {
"accounts": "string",
"source": "string",
"meters": "string",
"charges": "string",
"self": "string"
},
"serviceAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"billingAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"paymentAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"amountDue": 0,
"balance": 0,
"lateFees": 0,
"dueDate": "2022-04-27",
"endDate": "2022-04-27",
"invoiceNumber": "string",
"createdDate": "2022-04-27",
"modifiedDate": "2022-04-27",
"startDate": "2022-04-27",
"statementDate": "2022-04-27",
"statementType": "BILL"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicStatementResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Statement Accounts
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/statements/{statementId}/accounts \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/statements/{statementId}/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/apautomation/statements/{statementId}/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/apautomation/statements/{statementId}/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/apautomation/statements/{statementId}/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/apautomation/statements/{statementId}/accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/statements/{statementId}/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/apautomation/statements/{statementId}/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/statements/{statementId}/accounts
Get a list of accounts that are on a given statement
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
statementId | path | string | true | statementId |
Example responses
200 Response
{
"_embedded": {
"accounts": [
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicAccountResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Download Statement Source
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/statements/{statementId}/source \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/statements/{statementId}/source HTTP/1.1
Host: api.urjanet.com
Accept: */*
var headers = {
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.urjanet.com/apautomation/statements/{statementId}/source',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/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' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.urjanet.com/apautomation/statements/{statementId}/source',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': '*/*',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/statements/{statementId}/source', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/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{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.urjanet.com/apautomation/statements/{statementId}/source", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/statements/{statementId}/source
Download a Statement's source file
Urjanet provides a copy of the source file for where the system retrieved data. In most cases this is a copy of the structured PDF. In some cases this may be a PDF rendering of a portion of the website. This endpoint allows you to retrieve the source files for a specific statement.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
statementId | path | string | true | statementId |
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 | |
200 | Content-Disposition | string | none |
Retrieve Custom Data Labels
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/organization \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/organization 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/apautomation/organization',
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/apautomation/organization',
{
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/apautomation/organization',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/organization', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/organization");
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/apautomation/organization", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/organization
Get the current user's Organization
An organization is used to define a specific customer within the Urjanet system. Each Urjanet customer has an organizationId and 10 custom data fields that can be defined for each organization.
Example responses
200 Response
{
"_links": {
"self": "string"
},
"customData1Name": "string",
"customData2Name": "string",
"customData3Name": "string",
"customData4Name": "string",
"customData5Name": "string",
"customData6Name": "string",
"customData7Name": "string",
"customData8Name": "string",
"customData9Name": "string",
"customData10Name": "string",
"name": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicOrganizationCustomDataResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Update Custom Data Labels
Code samples
# You can also use wget
curl -X PATCH https://api.urjanet.com/apautomation/organization \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.urjanet.com/apautomation/organization 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/apautomation/organization',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"customData1Name": "string",
"customData2Name": "string",
"customData3Name": "string",
"customData4Name": "string",
"customData5Name": "string",
"customData6Name": "string",
"customData7Name": "string",
"customData8Name": "string",
"customData9Name": "string",
"customData10Name": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/organization',
{
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' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.urjanet.com/apautomation/organization',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.urjanet.com/apautomation/organization', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/organization");
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{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.urjanet.com/apautomation/organization", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /apautomation/organization
Update the current user's organization custom data names
Custom data labels are defined at the organization level. Each organization can have up to 10 custom data labels defined. Use the organization endpoint to set labels for each custom data field. You do not need to define all custom data labels up front, but Urjanet will only store values for custom data fields with defined labels.
Body parameter
{
"customData1Name": "string",
"customData2Name": "string",
"customData3Name": "string",
"customData4Name": "string",
"customData5Name": "string",
"customData6Name": "string",
"customData7Name": "string",
"customData8Name": "string",
"customData9Name": "string",
"customData10Name": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
customData1Name | body | string | false | none |
customData2Name | body | string | false | none |
customData3Name | body | string | false | none |
customData4Name | body | string | false | none |
customData5Name | body | string | false | none |
customData6Name | body | string | false | none |
customData7Name | body | string | false | none |
customData8Name | body | string | false | none |
customData9Name | body | string | false | none |
customData10Name | body | string | false | none |
Example responses
200 Response
{
"_links": {
"self": "string"
},
"customData1Name": "string",
"customData2Name": "string",
"customData3Name": "string",
"customData4Name": "string",
"customData5Name": "string",
"customData6Name": "string",
"customData7Name": "string",
"customData8Name": "string",
"customData9Name": "string",
"customData10Name": "string",
"name": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicOrganizationCustomDataResource |
204 | No Content | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
Update Account Custom Data
Code samples
# You can also use wget
curl -X PATCH https://api.urjanet.com/apautomation/accounts/{accountId}/customData \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.urjanet.com/apautomation/accounts/{accountId}/customData 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/apautomation/accounts/{accountId}/customData',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"property1": "string",
"property2": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/accounts/{accountId}/customData',
{
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' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.urjanet.com/apautomation/accounts/{accountId}/customData',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.urjanet.com/apautomation/accounts/{accountId}/customData', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/accounts/{accountId}/customData");
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{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.urjanet.com/apautomation/accounts/{accountId}/customData", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /apautomation/accounts/{accountId}/customData
Update account custom data
Each account can have 10 custom data fields associated. Custom data allows you to organize accounts and tie them back to records in your system. To update a Custom data field, the field must already have a defined label. To define a Custom Data label, you must use the Organization endpoint.
Body parameter
{
"property1": "string",
"property2": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
additionalProperties | body | string | false | none |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicAccountResource |
204 | No Content | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
Update Credential Custom Data
Code samples
# You can also use wget
curl -X PATCH https://api.urjanet.com/apautomation/credentials/{credentialId}/customData \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.urjanet.com/apautomation/credentials/{credentialId}/customData 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/apautomation/credentials/{credentialId}/customData',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"property1": "string",
"property2": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/credentials/{credentialId}/customData',
{
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' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.urjanet.com/apautomation/credentials/{credentialId}/customData',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.urjanet.com/apautomation/credentials/{credentialId}/customData', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/{credentialId}/customData");
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{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.urjanet.com/apautomation/credentials/{credentialId}/customData", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /apautomation/credentials/{credentialId}/customData
Update credential custom data
Each credential can have 10 custom data fields associated. Custom data allows you to organize accounts and tie them back to records in your system. To update a Custom data field, the field must already have a defined label. To define a Custom Data label, you must use the Organization endpoint.
Body parameter
{
"property1": "string",
"property2": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
additionalProperties | body | string | false | none |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"refreshUrl": "string",
"download": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:51Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialResource |
204 | No Content | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
Refresh Interactive Credentials
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/apautomation/credentials/{credentialId}/refresh \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/apautomation/credentials/{credentialId}/refresh HTTP/1.1
Host: api.urjanet.com
Accept: */*
var headers = {
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.urjanet.com/apautomation/credentials/{credentialId}/refresh',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/apautomation/credentials/{credentialId}/refresh',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => '*/*',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.urjanet.com/apautomation/credentials/{credentialId}/refresh',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': '*/*',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.urjanet.com/apautomation/credentials/{credentialId}/refresh', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/{credentialId}/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{
"Accept": []string{"*/*"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.urjanet.com/apautomation/credentials/{credentialId}/refresh", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /apautomation/credentials/{credentialId}/refresh
Initiate interactive refresh
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
Example responses
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
201 | Created | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Generate Refresh Credential URL
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/apautomation/credentials/{credentialId}/refreshUrl \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/apautomation/credentials/{credentialId}/refreshUrl 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/apautomation/credentials/{credentialId}/refreshUrl',
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/apautomation/credentials/{credentialId}/refreshUrl',
{
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/apautomation/credentials/{credentialId}/refreshUrl',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/apautomation/credentials/{credentialId}/refreshUrl', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/apautomation/credentials/{credentialId}/refreshUrl");
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/apautomation/credentials/{credentialId}/refreshUrl", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /apautomation/credentials/{credentialId}/refreshUrl
Get a URL to initiate interactive refresh
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
Example responses
200 Response
{
"refreshUrl": "string",
"expiration": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialRefreshUrlResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Stream Download
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/downloads/{downloadRequestWebhookId} \
-H 'Accept: */*'
GET https://api.urjanet.com/downloads/{downloadRequestWebhookId} HTTP/1.1
Host: api.urjanet.com
Accept: */*
var headers = {
'Accept':'*/*'
};
$.ajax({
url: 'https://api.urjanet.com/downloads/{downloadRequestWebhookId}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'*/*'
};
fetch('https://api.urjanet.com/downloads/{downloadRequestWebhookId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => '*/*'
}
result = RestClient.get 'https://api.urjanet.com/downloads/{downloadRequestWebhookId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': '*/*'
}
r = requests.get('https://api.urjanet.com/downloads/{downloadRequestWebhookId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/downloads/{downloadRequestWebhookId}");
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{"*/*"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.urjanet.com/downloads/{downloadRequestWebhookId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /downloads/{downloadRequestWebhookId}
Download a CSV file of requested data
Downloading data as a CSV file is actually a 2 step process. The first step prepares the download and provides a URL where the download can be found. The next step (this one) is to download the file using this endpoint. With this endpoint, you can download the credentials, accounts, statements, or associated metadata when it is ready.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
downloadRequestWebhookId | path | string | true | downloadRequestWebhookId |
Example responses
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
202 | Accepted | Accepted | None |
204 | No Content | No Content | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | 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 | |
200 | Content-Disposition | string | none |
Credit Building
The Credit Building API is designed to use utility and telecom payment data for building credit profiles over time. The data Urjanet collects is formatted here to show the full transaction history for a given customer. It pulls history first and then continues to extract the latest statement and payment data as they become available.
Credential Status
Urjanet provides credential status in Console and through the API’s credential level endpoints. When the credential job is complete, the credential’s status and status detail display the credential's current state. For example, if a credential status is OK - No Action Required, the credential’s login was successful and statements were extracted.
See below for a complete list of credential statuses.
Completion Status | Completion Status Detail | Description |
---|---|---|
OK | NO_ACTION_REQUIRED | No action required |
PENDING | WEBSITE_DOWN | Temporary problem in accessing the website |
PENDING | UNDER_REVIEW | Urjanet is reviewing the issue and will update the status shortly |
PENDING | STATEMENT_UNAVAILABLE | Temporary problem in accessing bills within this credential |
PENDING | NAVIGATION_FAILURE | No action required |
ACTION_REQUIRED | LOGIN_FAILURE | Login attempt failed. Update your credentials, and the system will try again |
ACTION_REQUIRED | NO_ACCOUNTS_FOUND | No accounts found within this credential |
ACTION_REQUIRED | UNSUPPORTED_CAPTCHA | Login failed due to a captcha required by the utility. In some cases, captcha can be disabled in the utility's website settings. |
ACTION_REQUIRED | MULTI_FACTOR_AUTH_FAILURE | Login failed due to PIN or Access Code required by the utility for login. |
ACTION_REQUIRED | USER_ACTION_REQUIRED | Login attempt passed, but unable to reach to the account information |
ACTION_REQUIRED | SECURITY_QUESTIONS | Login attempt failed due to security questions posed by the utility. Add security questions & answers using the additional login fields. |
ACTION_REQUIRED | ACCOUNT_LOCKED | Login failed due to account lockout. Please unlock the account. |
ACTION_REQUIRED | E_BILL_REQUIRED | Enrollment in electronic billing is required to access online statements. |
Account Status
Urjanet provides account status in Console and through the API’s account level endpoints. When the account job is complete, the account’s status and status detail display the account’s current state. For example, if an account status is OK - No Action Required, the account’s credential login was successful and statements were extracted.
See below for a complete list of account statuses.
Completion Status | Completion Status Detail | Description |
---|---|---|
OK | NO_ACTION_REQUIRED | No action required |
PENDING | EXTRACTION FAILURE | Pending an Urjanet fix |
PENDING | WEBSITE_DOWN | Temporary problem in accessing the website |
PENDING | UNDER_REVIEW | Urjanet is reviewing the issue and will update the status shortly |
PENDING | STATEMENT_UNAVAILABLE | Temporary problem in accessing bills within this credential |
PENDING | NAVIGATION_FAILURE | No action required |
ACCESS_ISSUE | ACCOUNT_NOT_FOUND | Account not found in site |
ACCESS_ISSUE | E_BILL_REQUIRED | Enrollment in electronic billing is required to access online statements. |
ACCESS_ISSUE | INVALID_SOURCE | The data source available is in a format rejected by your organization. |
ACCESS_ISSUE | ACCOUNT_NUMBER_CHANGE | Account number changed and this is no longer valid. Unsubscribe it. |
OLD | DORMANT | Account has not seen a new bill for 45 days |
OLD | ACCOUNT_CLOSED | This account has received a Final Bill notice or has been marked inactive on the provider's website. |
List Providers
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/providers \
-H 'Accept: application/hal+json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/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/creditbuilding/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/creditbuilding/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/creditbuilding/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/creditbuilding/providers', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/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/creditbuilding/providers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/providers
Search for a list of utility providers
Providers are the utility companies that Urjanet supports. In order to submit a request to Urjanet, you will need a providerID. List Providers allows you to query the providers endpoint to find a list of providers that meet specific criteria or to search for a specific provider.
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": {
"providers": [
{
"_links": {
"serviceTypes": "string",
"parentProvider": "string",
"self": "string"
},
"providerName": "string",
"hasMultiFactorAuthentication": true,
"requiredFields": [
"string"
],
"requiredFieldMetadata": [
{
"fieldName": "string",
"fieldLabel": "string",
"fieldNumber": 0,
"fieldPart": 0,
"fieldLength": 0
}
],
"supportsCredentialValidation": true,
"country": "string",
"enabledSolutions": [
"CREDIT"
],
"serviceTypes": [
"string"
],
"providerId": "string",
"website": "string",
"hasPrepaid": true,
"hasPostpaid": true,
"mock": true,
"beta": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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/creditbuilding/providers/{providerId} \
-H 'Accept: application/hal+json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/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/creditbuilding/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/creditbuilding/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/creditbuilding/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/creditbuilding/providers/{providerId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/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/creditbuilding/providers/{providerId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/providers/{providerId}
Retrieve the details of a specific provider
Once you have found a specific provider that you would like to submit a request for, you can see the details of that provider using the Retrieve Provider endpoint. This allows you to understand specific details of a utility provider like the required login fields, what solutions are enabled for this provider and the service type.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
providerId | path | string | true | providerId |
Example responses
200 Response
{
"_links": {
"serviceTypes": "string",
"parentProvider": "string",
"self": "string"
},
"providerName": "string",
"hasMultiFactorAuthentication": true,
"requiredFields": [
"string"
],
"requiredFieldMetadata": [
{
"fieldName": "string",
"fieldLabel": "string",
"fieldNumber": 0,
"fieldPart": 0,
"fieldLength": 0
}
],
"supportsCredentialValidation": true,
"country": "string",
"enabledSolutions": [
"CREDIT"
],
"serviceTypes": [
"string"
],
"providerId": "string",
"website": "string",
"hasPrepaid": true,
"hasPostpaid": true,
"mock": true,
"beta": true
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicProviderResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Create Credential
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/creditbuilding/providers/{providerId}/credentials \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/creditbuilding/providers/{providerId}/credentials 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/creditbuilding/providers/{providerId}/credentials',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"correlationId": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/providers/{providerId}/credentials',
{
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/creditbuilding/providers/{providerId}/credentials',
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/creditbuilding/providers/{providerId}/credentials', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/providers/{providerId}/credentials");
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/creditbuilding/providers/{providerId}/credentials", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditbuilding/providers/{providerId}/credentials
Create a credential
The credentials endpoint can also be used to create a new credential in the system. In order to create a new credential in the system, you must use the provider Id in the path and submit the required username and password as defined by the providers endpoint, and an organizationId.
Real-time Credential Validation (RTCV)
The create credential endpoint is capable of testing the provided credential within 45 seconds of submission. In order to enable this functionality, the provider must support RTCV (indicated in the response of the list providers and retrieve provider endpoints). The credential validation response will be sent via webhook. These responses are listed here.
Body parameter
{
"correlationId": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
providerId | path | string | true | providerId |
correlationId | body | string | false | An ID used to match the utility data pulled for this request back to users in your system |
username | body | string | false | 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 |
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 |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"refreshUrl": "string",
"download": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:51Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Credentials
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/credentials \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/credentials 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/creditbuilding/credentials',
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/creditbuilding/credentials',
{
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/creditbuilding/credentials',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/credentials', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials");
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/creditbuilding/credentials", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/credentials
Get all credentials
A credential is defined as a set of login requirements needed for Urjanet to access data from utility providers. The credentials endpoints allows you to get a list of all the credentials that are in the Urjanet system.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | query | string | false | search |
Example responses
200 Response
{
"_embedded": {
"credentials": [
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"refreshUrl": "string",
"download": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:51Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicCredentialResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Credential Deletion Logs
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/credentials/deleted \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/credentials/deleted 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/creditbuilding/credentials/deleted',
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/creditbuilding/credentials/deleted',
{
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/creditbuilding/credentials/deleted',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/credentials/deleted', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/deleted");
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/creditbuilding/credentials/deleted", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/credentials/deleted
Search deletion logs
Criteria recognized: operation, created, createdBy
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | query | string | false | An RSQL query string |
Example responses
200 Response
{
"_embedded": {
"deletionLogs": [
{
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicCredentialDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Delete Credentials
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/creditbuilding/credentials/deleted \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/creditbuilding/credentials/deleted 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/creditbuilding/credentials/deleted',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"ids": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/credentials/deleted',
{
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/creditbuilding/credentials/deleted',
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/creditbuilding/credentials/deleted', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/deleted");
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/creditbuilding/credentials/deleted", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditbuilding/credentials/deleted
Create a count of credentials/accounts/statements that would be deleted for the given Credential IDs
Before deleting a credential, it is recommended that you understand the impact of the deletion. To do this, the credentials/deleted endpoint can be used. This will return a list of credentials, accounts, and statements that will be impacted by the deletion.
Body parameter
{
"ids": [
"string"
]
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
ids | body | [string] | false | none |
Example responses
200 Response
{
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Get A Credential Deletion Log
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/credentials/deleted/{deletionLogId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/credentials/deleted/{deletionLogId} 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/creditbuilding/credentials/deleted/{deletionLogId}',
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/creditbuilding/credentials/deleted/{deletionLogId}',
{
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/creditbuilding/credentials/deleted/{deletionLogId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/credentials/deleted/{deletionLogId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/deleted/{deletionLogId}");
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/creditbuilding/credentials/deleted/{deletionLogId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/credentials/deleted/{deletionLogId}
Get a specific existing DeletionLog row
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
deletionLogId | path | string | true | deletionLogId |
Example responses
200 Response
{
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Delete Credentials By Deletion Log ID
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/creditbuilding/credentials/deleted/{deletionLogId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/creditbuilding/credentials/deleted/{deletionLogId} 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/creditbuilding/credentials/deleted/{deletionLogId}',
method: 'post',
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/creditbuilding/credentials/deleted/{deletionLogId}',
{
method: 'POST',
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.post 'https://api.urjanet.com/creditbuilding/credentials/deleted/{deletionLogId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.urjanet.com/creditbuilding/credentials/deleted/{deletionLogId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/deleted/{deletionLogId}");
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{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.urjanet.com/creditbuilding/credentials/deleted/{deletionLogId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditbuilding/credentials/deleted/{deletionLogId}
Delete the given Credential IDs and update the deletion log
After understanding the impact of a deletion using the credentials/deleted endpoint, you can execute the deletion using this endpoint. This will also update the deletion log.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
deletionLogId | path | string | true | deletionLogId |
Example responses
200 Response
{
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Retrieve Credential
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/credentials/{credentialId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/credentials/{credentialId} 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/creditbuilding/credentials/{credentialId}',
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/creditbuilding/credentials/{credentialId}',
{
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/creditbuilding/credentials/{credentialId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/credentials/{credentialId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/{credentialId}");
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/creditbuilding/credentials/{credentialId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/credentials/{credentialId}
Retrieve a single credential
If you have the credentialId for a specific credential, you can get the details of that credential.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"refreshUrl": "string",
"download": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:51Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Update Credential
Code samples
# You can also use wget
curl -X PATCH https://api.urjanet.com/creditbuilding/credentials/{credentialId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.urjanet.com/creditbuilding/credentials/{credentialId} 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/creditbuilding/credentials/{credentialId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"enabled": true,
"correlationId": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string",
"interactive": true,
"runHistory": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/credentials/{credentialId}',
{
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' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.urjanet.com/creditbuilding/credentials/{credentialId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.urjanet.com/creditbuilding/credentials/{credentialId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/{credentialId}");
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{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.urjanet.com/creditbuilding/credentials/{credentialId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /creditbuilding/credentials/{credentialId}
Update a credential
To make updates to a credential, make a PATCH call to the credentials endpoint with a specific credentialId. For a list of fields that can be updated look here.
Body parameter
{
"enabled": true,
"correlationId": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string",
"interactive": true,
"runHistory": true
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
enabled | body | boolean | false | Controls whether data will continue to be extracted behind this credential. |
correlationId | body | string | false | An ID used to match the utility data pulled for this request back to users in your system |
username | body | string | false | 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 |
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 |
interactive | body | boolean | false | none |
runHistory | body | boolean | false | none |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"refreshUrl": "string",
"download": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:51Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialResource |
204 | No Content | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
List Credential's Accounts
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/credentials/{credentialId}/accounts \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/credentials/{credentialId}/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/creditbuilding/credentials/{credentialId}/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/creditbuilding/credentials/{credentialId}/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/creditbuilding/credentials/{credentialId}/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/creditbuilding/credentials/{credentialId}/accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/{credentialId}/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/creditbuilding/credentials/{credentialId}/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/credentials/{credentialId}/accounts
Get all Accounts for a Credential
If you would like to find all the accounts that exist behind a credential, you can use this credentials endpoint.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
search | query | string | false | search |
Example responses
200 Response
{
"_embedded": {
"accounts": [
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicAccountResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Credential Events
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/credentials/{credentialId}/events \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/credentials/{credentialId}/events 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/creditbuilding/credentials/{credentialId}/events',
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/creditbuilding/credentials/{credentialId}/events',
{
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/creditbuilding/credentials/{credentialId}/events',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/credentials/{credentialId}/events', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/{credentialId}/events");
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/creditbuilding/credentials/{credentialId}/events", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/credentials/{credentialId}/events
Get all credential events
This endpoint allows you to view the event history for a credential. For example, you query this endpoint to find out when a credential was created and who it was created by.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
search | query | string | false | search |
Example responses
200 Response
{
"_embedded": {
"credentialEvents": [
{
"_links": {
"self": "string"
},
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"eventType": "CREDENTIAL_CREATED",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicCredentialEventResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Generate Update Password URL
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/credentials/{credentialId}/updateUrl \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/credentials/{credentialId}/updateUrl 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/creditbuilding/credentials/{credentialId}/updateUrl',
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/creditbuilding/credentials/{credentialId}/updateUrl',
{
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/creditbuilding/credentials/{credentialId}/updateUrl',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/credentials/{credentialId}/updateUrl', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/{credentialId}/updateUrl");
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/creditbuilding/credentials/{credentialId}/updateUrl", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/credentials/{credentialId}/updateUrl
Generate a link to Connect that allows a user to update their password
This endpoint generates a URL that allows a user to update their password for a specified credential. The URL generated will only work for 72 hours after it is generated.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
Example responses
200 Response
{
"updateUrl": "string",
"expiration": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialUrlResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Retrieve Consent
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/credentials/{credentialId}/consent \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/credentials/{credentialId}/consent 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/creditbuilding/credentials/{credentialId}/consent',
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/creditbuilding/credentials/{credentialId}/consent',
{
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/creditbuilding/credentials/{credentialId}/consent',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/credentials/{credentialId}/consent', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/{credentialId}/consent");
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/creditbuilding/credentials/{credentialId}/consent", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/credentials/{credentialId}/consent
Get credential consent information
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
Example responses
200 Response
{
"consentStatus": "string",
"credentialCreatedDate": "2022-04-27T17:18:51Z",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"origin": "API",
"privacyPolicyUrl": "string",
"revokeDate": "2022-04-27T17:18:51Z",
"termsOfServiceUrl": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ConsentResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Get Sensitive Credentials
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/credentials/{credentialId}/passwords \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/credentials/{credentialId}/passwords 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/creditbuilding/credentials/{credentialId}/passwords',
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/creditbuilding/credentials/{credentialId}/passwords',
{
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/creditbuilding/credentials/{credentialId}/passwords',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/credentials/{credentialId}/passwords', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/{credentialId}/passwords");
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/creditbuilding/credentials/{credentialId}/passwords", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/credentials/{credentialId}/passwords
Get the sensitive information for a credential
This endpoint allows you to retrieve the passwords for a given credential.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
Example responses
200 Response
{
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CredentialSecretsResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Credentials Download Request
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/creditbuilding/credentials/downloads \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/creditbuilding/credentials/downloads 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/creditbuilding/credentials/downloads',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"credentialCriteria": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/credentials/downloads',
{
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/creditbuilding/credentials/downloads',
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/creditbuilding/credentials/downloads', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/downloads");
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/creditbuilding/credentials/downloads", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditbuilding/credentials/downloads
Submit a download request for all the credentials
Downloading a CSV file with credentials and associated metadata is actually a 2 step process. The first step (this one) prepares the download and provides a URL that can be used for downloading the CSV file. The next step is to download the file using the returned URL. The contents of the file will follow this schema.
Body parameter
{
"credentialCriteria": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialCriteria | body | string | false | An RSQL search string for a list of credentials |
Example responses
200 Response
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicDownloadRequestResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Download Consent CSV
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/creditbuilding/credentials/downloads/consent \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/creditbuilding/credentials/downloads/consent 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/creditbuilding/credentials/downloads/consent',
method: 'post',
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/creditbuilding/credentials/downloads/consent',
{
method: 'POST',
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.post 'https://api.urjanet.com/creditbuilding/credentials/downloads/consent',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.urjanet.com/creditbuilding/credentials/downloads/consent', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/downloads/consent");
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{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.urjanet.com/creditbuilding/credentials/downloads/consent", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditbuilding/credentials/downloads/consent
Submit a DownloadRequest for Consent Information as CSV
The contents of the file will follow this schema.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | query | string | false | search |
Example responses
200 Response
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicDownloadRequestResource |
201 | Created | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Credential Sample File Download
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/providers/{providerId}/credentials/bulkuploads/sample \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/providers/{providerId}/credentials/bulkuploads/sample HTTP/1.1
Host: api.urjanet.com
Accept: */*
var headers = {
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.urjanet.com/creditbuilding/providers/{providerId}/credentials/bulkuploads/sample',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/providers/{providerId}/credentials/bulkuploads/sample',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => '*/*',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.urjanet.com/creditbuilding/providers/{providerId}/credentials/bulkuploads/sample',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': '*/*',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/providers/{providerId}/credentials/bulkuploads/sample', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/providers/{providerId}/credentials/bulkuploads/sample");
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{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.urjanet.com/creditbuilding/providers/{providerId}/credentials/bulkuploads/sample", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/providers/{providerId}/credentials/bulkuploads/sample
Get the CSV credential upload sample for a particular provider
Each provider has the potential of having distinct input fields as login credentials. To ensure that you have the correct fields for a provider before submitting bulk credentials, you can download a CSV that lists the required fields. In addition to credential fields, the correlation and custom data fields are also included as optional fields.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
providerId | path | string | true | request |
Example responses
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
202 | Accepted | Accepted | None |
204 | No Content | No Content | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | 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 | |
200 | Content-Disposition | string | none |
Create Account
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/creditbuilding/accounts \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/creditbuilding/accounts 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/creditbuilding/accounts',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"accountNumber": "string",
"enabled": true,
"providerId": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/accounts',
{
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/creditbuilding/accounts',
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/creditbuilding/accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/accounts");
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/creditbuilding/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditbuilding/accounts
Create a new account in the Urjanet system
The Urjanet system does not require you to provide an expected account in order to start receiving data. If you know which specific accounts you would like Urjanet to retrieve, you can use this Accounts endpoint.
Body parameter
{
"accountNumber": "string",
"enabled": true,
"providerId": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountNumber | body | string | false | none |
enabled | body | boolean | false | Controls whether data will continue to be extracted for this account. |
providerId | body | string | false | The primary key used to represent this provider |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicAccountResource |
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/creditbuilding/accounts \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/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/creditbuilding/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/creditbuilding/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/creditbuilding/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/creditbuilding/accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/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/creditbuilding/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/accounts
Get a list of accounts in the Urjanet system
Urjanet retrieves Accounts from utility providers using the credentials that are submitted. There can be multiple accounts behind a credential. The Accounts endpoint allows you to query for a list of accounts that are currently in the Urjanet system.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | query | string | false | An RSQL query string |
Example responses
200 Response
{
"_embedded": {
"accounts": [
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicAccountResource |
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/creditbuilding/accounts/{accountId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/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/creditbuilding/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/creditbuilding/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/creditbuilding/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/creditbuilding/accounts/{accountId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/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/creditbuilding/accounts/{accountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/accounts/{accountId}
Retrieve a single account from the Urjanet system
If you already know the accountId for an account, you can use the Accounts endpoint to retrieve the details of that specific account.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicAccountResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Update Account
Code samples
# You can also use wget
curl -X PATCH https://api.urjanet.com/creditbuilding/accounts/{accountId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.urjanet.com/creditbuilding/accounts/{accountId} 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/creditbuilding/accounts/{accountId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"enabled": true
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/accounts/{accountId}',
{
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' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.urjanet.com/creditbuilding/accounts/{accountId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.urjanet.com/creditbuilding/accounts/{accountId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/accounts/{accountId}");
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{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.urjanet.com/creditbuilding/accounts/{accountId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /creditbuilding/accounts/{accountId}
Update an Account
To make updates to a specific account, you can make a PATCH call to the accounts endpoint. A list of specific fields that can be updated can be found here.
Body parameter
{
"enabled": true
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
enabled | body | boolean | false | Controls whether data will continue to be extracted for this account. |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicAccountResource |
204 | No Content | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
List Account Deletion Logs
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/accounts/deleted \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/accounts/deleted 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/creditbuilding/accounts/deleted',
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/creditbuilding/accounts/deleted',
{
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/creditbuilding/accounts/deleted',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/accounts/deleted', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/accounts/deleted");
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/creditbuilding/accounts/deleted", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/accounts/deleted
Search deletion logs
Criteria recognized: operation, created, createdBy
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
search | query | string | false | An RSQL query string |
Example responses
200 Response
{
"_embedded": {
"deletionLogs": [
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicAccountDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Delete Accounts
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/creditbuilding/accounts/deleted \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/creditbuilding/accounts/deleted 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/creditbuilding/accounts/deleted',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"ids": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/accounts/deleted',
{
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/creditbuilding/accounts/deleted',
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/creditbuilding/accounts/deleted', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/accounts/deleted");
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/creditbuilding/accounts/deleted", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditbuilding/accounts/deleted
Create a count of credentials/accounts/statements that would be deleted for the given Credential IDs
Before deleting an account, it is recommended that you understand the impact of the deletion. To do this, the accounts/deleted endpoint can be used. This will return a list of credentials, accounts, and statements that will be impacted by the deletion.
Body parameter
{
"ids": [
"string"
]
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
ids | body | [string] | false | none |
Example responses
200 Response
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicAccountDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Resend Credential webhooks
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/creditbuilding/credentials/lastWebhook \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/creditbuilding/credentials/lastWebhook 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/creditbuilding/credentials/lastWebhook',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"resourceIds": [
"string"
]
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/credentials/lastWebhook',
{
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/creditbuilding/credentials/lastWebhook',
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/creditbuilding/credentials/lastWebhook', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/lastWebhook");
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/creditbuilding/credentials/lastWebhook", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditbuilding/credentials/lastWebhook
Submit a request to resend webhooks for credentials and the associated accounts
Resending webhooks for list of credentials and the accounts associated with each credential. Make sure that webhook is set for your organization.
Body parameter
{
"resourceIds": [
"string"
]
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
resourceIds | body | [string] | true | List of credential IDs |
Example responses
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
202 | Accepted | Accepted | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Get An Account Deletion Log
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/accounts/deleted/{deletionLogId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/accounts/deleted/{deletionLogId} 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/creditbuilding/accounts/deleted/{deletionLogId}',
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/creditbuilding/accounts/deleted/{deletionLogId}',
{
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/creditbuilding/accounts/deleted/{deletionLogId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/accounts/deleted/{deletionLogId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/accounts/deleted/{deletionLogId}");
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/creditbuilding/accounts/deleted/{deletionLogId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/accounts/deleted/{deletionLogId}
Get a specific existing DeletionLog row
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
deletionLogId | path | string | true | deletionLogId |
Example responses
200 Response
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicAccountDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Delete Accounts By Deletion Log
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/creditbuilding/accounts/deleted/{deletionLogId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/creditbuilding/accounts/deleted/{deletionLogId} 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/creditbuilding/accounts/deleted/{deletionLogId}',
method: 'post',
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/creditbuilding/accounts/deleted/{deletionLogId}',
{
method: 'POST',
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.post 'https://api.urjanet.com/creditbuilding/accounts/deleted/{deletionLogId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.urjanet.com/creditbuilding/accounts/deleted/{deletionLogId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/accounts/deleted/{deletionLogId}");
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{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.urjanet.com/creditbuilding/accounts/deleted/{deletionLogId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditbuilding/accounts/deleted/{deletionLogId}
Delete the given Account IDs and update the deletion log
Delete the given Account IDs and update the deletion log
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
deletionLogId | path | string | true | deletionLogId |
Example responses
200 Response
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdOn": "2022-04-27T17:18:51Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicAccountDeleteLogResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Account Download Request
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/creditbuilding/accounts/{accountId}/downloads \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/creditbuilding/accounts/{accountId}/downloads 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/creditbuilding/accounts/{accountId}/downloads',
method: 'post',
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/creditbuilding/accounts/{accountId}/downloads',
{
method: 'POST',
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.post 'https://api.urjanet.com/creditbuilding/accounts/{accountId}/downloads',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.urjanet.com/creditbuilding/accounts/{accountId}/downloads', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/accounts/{accountId}/downloads");
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{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.urjanet.com/creditbuilding/accounts/{accountId}/downloads", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditbuilding/accounts/{accountId}/downloads
Submit a download request for an account, its statements, and the associate metadata
Downloading a CSV file with accounts and associated metadata is actually a 2 step process. The first step (this one) prepares the download and provides a URL that can be used for downloading the CSV file. The next step is to download the file using the returned URL. The contents of the file will follow this schema.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
Example responses
200 Response
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicDownloadRequestResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Accounts Download Request
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/creditbuilding/accounts/downloads \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/creditbuilding/accounts/downloads 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/creditbuilding/accounts/downloads',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"accountIds": "string",
"search": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/accounts/downloads',
{
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/creditbuilding/accounts/downloads',
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/creditbuilding/accounts/downloads', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/accounts/downloads");
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/creditbuilding/accounts/downloads", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditbuilding/accounts/downloads
Submit a download request for all the statements for selected accounts
Downloading a CSV file with accounts, statements, and associated metadata is actually a 2 step process. The first step (this one) prepares the download and provides a URL that can be used for downloading the CSV file. The next step is to download the file using the returned URL. The contents of the file will follow this schema.
Body parameter
{
"accountIds": "string",
"search": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountIds | body | string | false | A comma-separated list of account IDs |
search | body | string | false | An RSQL search string for a list of accounts |
Example responses
200 Response
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicDownloadRequestResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Sub-Accounts
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/accounts/{accountId}/subAccounts \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/accounts/{accountId}/subAccounts 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/creditbuilding/accounts/{accountId}/subAccounts',
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/creditbuilding/accounts/{accountId}/subAccounts',
{
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/creditbuilding/accounts/{accountId}/subAccounts',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/accounts/{accountId}/subAccounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/accounts/{accountId}/subAccounts");
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/creditbuilding/accounts/{accountId}/subAccounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/accounts/{accountId}/subAccounts
List all sub-accounts of a summary account
With the subAccounts endpoint, you can get a list of sub accounts associated with a summary account. This allows you to understand the relationship between summary accounts and sub accounts.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
search | query | string | false | search |
Example responses
200 Response
{
"_embedded": {
"accounts": [
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicAccountResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Account's Credentials
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/accounts/{accountId}/credentials \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/accounts/{accountId}/credentials 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/creditbuilding/accounts/{accountId}/credentials',
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/creditbuilding/accounts/{accountId}/credentials',
{
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/creditbuilding/accounts/{accountId}/credentials',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/accounts/{accountId}/credentials', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/accounts/{accountId}/credentials");
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/creditbuilding/accounts/{accountId}/credentials", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/accounts/{accountId}/credentials
Get all Credentials for an Account
For a specific account, you can list all credentials that have access to this account. This allows you to manage access to a specific account.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
search | query | string | false | search |
Example responses
200 Response
{
"_embedded": {
"credentials": [
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"refreshUrl": "string",
"download": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:51Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicCredentialResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Account's Events
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/accounts/{accountId}/events \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/accounts/{accountId}/events 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/creditbuilding/accounts/{accountId}/events',
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/creditbuilding/accounts/{accountId}/events',
{
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/creditbuilding/accounts/{accountId}/events',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/accounts/{accountId}/events', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/accounts/{accountId}/events");
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/creditbuilding/accounts/{accountId}/events", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/accounts/{accountId}/events
Get all Events for an Account
This endpoint allows you to view the event history for an account. For example, you query this endpoint to find out when an account was created and who it was created by.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
search | query | string | false | search |
Example responses
200 Response
{
"_embedded": {
"accountEvents": [
{
"_links": {
"self": "string"
},
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"eventType": "ACCOUNT_REQUESTED",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicAccountEventResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Account's Payments
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/accounts/{accountId}/payments \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/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/creditbuilding/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/creditbuilding/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/creditbuilding/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/creditbuilding/accounts/{accountId}/payments', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/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/creditbuilding/accounts/{accountId}/payments", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/accounts/{accountId}/payments
Get a list of the payment objects returned as part of an account
A payment is a transaction made by the account holder to decrease the balance of the account. An account may return one or many payments for each account.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
Example responses
200 Response
{
"_embedded": {
"payments": [
{
"amount": 0,
"currency": "string",
"paymentDate": "2022-04-27"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicPaymentResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Download Payment Source
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/accounts/{accountId}/payments/{paymentId}/source \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/accounts/{accountId}/payments/{paymentId}/source HTTP/1.1
Host: api.urjanet.com
Accept: */*
var headers = {
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.urjanet.com/creditbuilding/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':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/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' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.urjanet.com/creditbuilding/accounts/{accountId}/payments/{paymentId}/source',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': '*/*',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/accounts/{accountId}/payments/{paymentId}/source', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/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{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.urjanet.com/creditbuilding/accounts/{accountId}/payments/{paymentId}/source", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/accounts/{accountId}/payments/{paymentId}/source
Download a Payment's source file
Urjanet provides a copy of the source file for where the system retrieved data. In most cases this is a copy of the structured PDF. In some cases this may be a PDF rendering of a portion of the website. This endpoint allows you to retrieve the source files for a specific payment.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
paymentId | path | string | true | paymentId |
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 | |
200 | Content-Disposition | string | none |
List Account's Statements
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/accounts/{accountId}/statements \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/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/creditbuilding/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/creditbuilding/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/creditbuilding/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/creditbuilding/accounts/{accountId}/statements', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/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/creditbuilding/accounts/{accountId}/statements", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/accounts/{accountId}/statements
List all Statements for a given Account
If you have a specific accountId and you would like to get all statements for that account, you can use the Accounts, Statements endpoint.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
Example responses
200 Response
{
"_embedded": {
"statements": [
{
"_links": {
"accounts": "string",
"source": "string",
"meters": "string",
"charges": "string",
"self": "string"
},
"serviceAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"billingAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"paymentAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"amountDue": 0,
"balance": 0,
"lateFees": 0,
"dueDate": "2022-04-27",
"endDate": "2022-04-27",
"invoiceNumber": "string",
"createdDate": "2022-04-27",
"modifiedDate": "2022-04-27",
"startDate": "2022-04-27",
"statementDate": "2022-04-27",
"statementType": "BILL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicStatementResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Retrieve Statement
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/statements/{statementId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/statements/{statementId} 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/creditbuilding/statements/{statementId}',
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/creditbuilding/statements/{statementId}',
{
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/creditbuilding/statements/{statementId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/statements/{statementId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/statements/{statementId}");
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/creditbuilding/statements/{statementId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/statements/{statementId}
Get a single Statement
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
statementId | path | string | true | statementId |
Example responses
200 Response
{
"_links": {
"accounts": "string",
"source": "string",
"meters": "string",
"charges": "string",
"self": "string"
},
"serviceAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"billingAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"paymentAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"amountDue": 0,
"balance": 0,
"lateFees": 0,
"dueDate": "2022-04-27",
"endDate": "2022-04-27",
"invoiceNumber": "string",
"createdDate": "2022-04-27",
"modifiedDate": "2022-04-27",
"startDate": "2022-04-27",
"statementDate": "2022-04-27",
"statementType": "BILL"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicStatementResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Statement Accounts
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/statements/{statementId}/accounts \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/statements/{statementId}/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/creditbuilding/statements/{statementId}/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/creditbuilding/statements/{statementId}/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/creditbuilding/statements/{statementId}/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/creditbuilding/statements/{statementId}/accounts', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/statements/{statementId}/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/creditbuilding/statements/{statementId}/accounts", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/statements/{statementId}/accounts
Get a list of accounts that are on a given statement
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
statementId | path | string | true | statementId |
Example responses
200 Response
{
"_embedded": {
"accounts": [
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicAccountResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Download Statement Source
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/statements/{statementId}/source \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/statements/{statementId}/source HTTP/1.1
Host: api.urjanet.com
Accept: */*
var headers = {
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.urjanet.com/creditbuilding/statements/{statementId}/source',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/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' => 'Bearer {access-token}'
}
result = RestClient.get 'https://api.urjanet.com/creditbuilding/statements/{statementId}/source',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': '*/*',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/statements/{statementId}/source', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/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{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "https://api.urjanet.com/creditbuilding/statements/{statementId}/source", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/statements/{statementId}/source
Download a Statement's source file
Urjanet provides a copy of the source file for where the system retrieved data. In most cases this is a copy of the structured PDF. In some cases this may be a PDF rendering of a portion of the website. This endpoint allows you to retrieve the source files for a specific statement.
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
statementId | path | string | true | statementId |
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 | |
200 | Content-Disposition | string | none |
Retrieve Custom Data Labels
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/organization \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/organization 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/creditbuilding/organization',
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/creditbuilding/organization',
{
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/creditbuilding/organization',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/organization', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/organization");
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/creditbuilding/organization", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/organization
Get the current user's Organization
An organization is used to define a specific customer within the Urjanet system. Each Urjanet customer has an organizationId and 10 custom data fields that can be defined for each organization.
Example responses
200 Response
{
"_links": {
"self": "string"
},
"customData1Name": "string",
"customData2Name": "string",
"customData3Name": "string",
"customData4Name": "string",
"customData5Name": "string",
"customData6Name": "string",
"customData7Name": "string",
"customData8Name": "string",
"customData9Name": "string",
"customData10Name": "string",
"name": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicOrganizationCustomDataResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Update Custom Data Labels
Code samples
# You can also use wget
curl -X PATCH https://api.urjanet.com/creditbuilding/organization \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.urjanet.com/creditbuilding/organization 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/creditbuilding/organization',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"customData1Name": "string",
"customData2Name": "string",
"customData3Name": "string",
"customData4Name": "string",
"customData5Name": "string",
"customData6Name": "string",
"customData7Name": "string",
"customData8Name": "string",
"customData9Name": "string",
"customData10Name": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/organization',
{
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' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.urjanet.com/creditbuilding/organization',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.urjanet.com/creditbuilding/organization', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/organization");
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{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.urjanet.com/creditbuilding/organization", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /creditbuilding/organization
Update the current user's organization custom data names
Custom data labels are defined at the organization level. Each organization can have up to 10 custom data labels defined. Use the organization endpoint to set labels for each custom data field. You do not need to define all custom data labels up front, but Urjanet will only store values for custom data fields with defined labels.
Body parameter
{
"customData1Name": "string",
"customData2Name": "string",
"customData3Name": "string",
"customData4Name": "string",
"customData5Name": "string",
"customData6Name": "string",
"customData7Name": "string",
"customData8Name": "string",
"customData9Name": "string",
"customData10Name": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
customData1Name | body | string | false | none |
customData2Name | body | string | false | none |
customData3Name | body | string | false | none |
customData4Name | body | string | false | none |
customData5Name | body | string | false | none |
customData6Name | body | string | false | none |
customData7Name | body | string | false | none |
customData8Name | body | string | false | none |
customData9Name | body | string | false | none |
customData10Name | body | string | false | none |
Example responses
200 Response
{
"_links": {
"self": "string"
},
"customData1Name": "string",
"customData2Name": "string",
"customData3Name": "string",
"customData4Name": "string",
"customData5Name": "string",
"customData6Name": "string",
"customData7Name": "string",
"customData8Name": "string",
"customData9Name": "string",
"customData10Name": "string",
"name": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicOrganizationCustomDataResource |
204 | No Content | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
Update Account Custom Data
Code samples
# You can also use wget
curl -X PATCH https://api.urjanet.com/creditbuilding/accounts/{accountId}/customData \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.urjanet.com/creditbuilding/accounts/{accountId}/customData 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/creditbuilding/accounts/{accountId}/customData',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"property1": "string",
"property2": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/accounts/{accountId}/customData',
{
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' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.urjanet.com/creditbuilding/accounts/{accountId}/customData',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.urjanet.com/creditbuilding/accounts/{accountId}/customData', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/accounts/{accountId}/customData");
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{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.urjanet.com/creditbuilding/accounts/{accountId}/customData", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /creditbuilding/accounts/{accountId}/customData
Update account custom data
Each account can have 10 custom data fields associated. Custom data allows you to organize accounts and tie them back to records in your system. To update a Custom data field, the field must already have a defined label. To define a Custom Data label, you must use the Organization endpoint.
Body parameter
{
"property1": "string",
"property2": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
accountId | path | string | true | accountId |
additionalProperties | body | string | false | none |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicAccountResource |
204 | No Content | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
Update Credential Custom Data
Code samples
# You can also use wget
curl -X PATCH https://api.urjanet.com/creditbuilding/credentials/{credentialId}/customData \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.urjanet.com/creditbuilding/credentials/{credentialId}/customData 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/creditbuilding/credentials/{credentialId}/customData',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"property1": "string",
"property2": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/credentials/{credentialId}/customData',
{
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' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.patch 'https://api.urjanet.com/creditbuilding/credentials/{credentialId}/customData',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.patch('https://api.urjanet.com/creditbuilding/credentials/{credentialId}/customData', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/{credentialId}/customData");
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{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("PATCH", "https://api.urjanet.com/creditbuilding/credentials/{credentialId}/customData", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /creditbuilding/credentials/{credentialId}/customData
Update credential custom data
Each credential can have 10 custom data fields associated. Custom data allows you to organize accounts and tie them back to records in your system. To update a Custom data field, the field must already have a defined label. To define a Custom Data label, you must use the Organization endpoint.
Body parameter
{
"property1": "string",
"property2": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
additionalProperties | body | string | false | none |
Example responses
200 Response
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"refreshUrl": "string",
"download": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:51Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:51Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialResource |
204 | No Content | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
Refresh Interactive Credentials
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/creditbuilding/credentials/{credentialId}/refresh \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/creditbuilding/credentials/{credentialId}/refresh HTTP/1.1
Host: api.urjanet.com
Accept: */*
var headers = {
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: 'https://api.urjanet.com/creditbuilding/credentials/{credentialId}/refresh',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/creditbuilding/credentials/{credentialId}/refresh',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => '*/*',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://api.urjanet.com/creditbuilding/credentials/{credentialId}/refresh',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': '*/*',
'Authorization': 'Bearer {access-token}'
}
r = requests.post('https://api.urjanet.com/creditbuilding/credentials/{credentialId}/refresh', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/{credentialId}/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{
"Accept": []string{"*/*"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "https://api.urjanet.com/creditbuilding/credentials/{credentialId}/refresh", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /creditbuilding/credentials/{credentialId}/refresh
Initiate interactive refresh
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
Example responses
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
201 | Created | none | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Generate Refresh Credential URL
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/creditbuilding/credentials/{credentialId}/refreshUrl \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/creditbuilding/credentials/{credentialId}/refreshUrl 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/creditbuilding/credentials/{credentialId}/refreshUrl',
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/creditbuilding/credentials/{credentialId}/refreshUrl',
{
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/creditbuilding/credentials/{credentialId}/refreshUrl',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/creditbuilding/credentials/{credentialId}/refreshUrl', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/creditbuilding/credentials/{credentialId}/refreshUrl");
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/creditbuilding/credentials/{credentialId}/refreshUrl", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /creditbuilding/credentials/{credentialId}/refreshUrl
Get a URL to initiate interactive refresh
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
credentialId | path | string | true | credentialId |
Example responses
200 Response
{
"refreshUrl": "string",
"expiration": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicCredentialRefreshUrlResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
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": {
"self": "string"
},
"allowedEmailDomains": "string",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"defaultDataCapturePeriodMonths": "string",
"defaultTimeout": "string",
"defaultWebhookUrl": "string",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"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",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"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",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"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 |
connectShowBeta | body | boolean | false | show Beta providers in connect |
connectShowMfa | body | boolean | false | show MFA providers in connect |
connectShowMock | body | boolean | false | show Mock providers in connect outside of sandbox mode |
connectShowNonRtcv | body | boolean | false | show non-RTCV enabled providers in connect |
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 |
---|---|---|---|
204 | No Content | No Content | 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": {
"roles": [
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string"
}
]
},
"_links": {
"self": "string"
},
"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 |
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 | No Content | 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 |
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 | No Content | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Get Parent Organization
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/parentOrganization \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/parentOrganization 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/parentOrganization',
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/parentOrganization',
{
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/parentOrganization',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/parentOrganization', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/parentOrganization");
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/parentOrganization", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /parentOrganization
Get your parent organization
Example responses
200 Response
{
"_links": {
"self": "string"
},
"name": "string"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ParentOrganizationResource |
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": {
"roles": [
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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": {
"self": "string"
},
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"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 |
Get Organizations
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/organizations \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/organizations 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/organizations',
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/organizations',
{
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/organizations',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/organizations', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/organizations");
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/organizations", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /organizations
Get a list of the current User's Organization and any Sub Organizations
Example responses
200 Response
{
"_embedded": {
"organizations": [
{
"_links": {
"self": "string"
},
"allowedEmailDomains": "string",
"connectEnabled": true,
"connectParentWindowAddress": "string",
"connectParentWindowAddressAllowLocalhost": true,
"connectPrimaryColor": "string",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"createdDate": "2022-04-27T17:18:51Z",
"createdBy": "string",
"defaultDataCapturePeriodMonths": "string",
"defaultSolution": "string",
"defaultTimeout": "string",
"defaultWebhookUrl": "string",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"isEnabled": true,
"name": "string",
"privacyPolicy": "string",
"publicKey": "string",
"sourceToken": "string",
"termsOfService": "string",
"uniqueId": "string",
"useSourceToken": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PagedPublicOrganizationResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Create Sub Organization
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/organizations \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/organizations 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/organizations',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"allowedEmailDomains": "string",
"defaultDataCapturePeriodMonths": 0,
"defaultTimeout": 0,
"defaultWebhookUrl": "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/organizations',
{
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/organizations',
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/organizations', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/organizations");
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/organizations", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /organizations
Create a Sub Organization
Body parameter
{
"allowedEmailDomains": "string",
"defaultDataCapturePeriodMonths": 0,
"defaultTimeout": 0,
"defaultWebhookUrl": "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 |
defaultDataCapturePeriodMonths | body | integer | false | none |
defaultTimeout | body | integer | false | none |
defaultWebhookUrl | body | string | false | none |
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 |
---|---|---|---|
201 | Created | Created | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Get Organization
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/organizations/{organizationId} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/organizations/{organizationId} 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/organizations/{organizationId}',
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/organizations/{organizationId}',
{
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/organizations/{organizationId}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('https://api.urjanet.com/organizations/{organizationId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/organizations/{organizationId}");
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/organizations/{organizationId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /organizations/{organizationId}
Get a specific Organization
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
organizationId | path | integer(int64) | true | organizationId |
Example responses
200 Response
{
"_links": {
"self": "string"
},
"allowedEmailDomains": "string",
"connectEnabled": true,
"connectParentWindowAddress": "string",
"connectParentWindowAddressAllowLocalhost": true,
"connectPrimaryColor": "string",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"createdDate": "2022-04-27T17:18:51Z",
"createdBy": "string",
"defaultDataCapturePeriodMonths": "string",
"defaultSolution": "string",
"defaultTimeout": "string",
"defaultWebhookUrl": "string",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"isEnabled": true,
"name": "string",
"privacyPolicy": "string",
"publicKey": "string",
"sourceToken": "string",
"termsOfService": "string",
"uniqueId": "string",
"useSourceToken": true
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | PublicOrganizationResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Update Organization
Code samples
# You can also use wget
curl -X PATCH https://api.urjanet.com/organizations/{organizationId} \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
PATCH https://api.urjanet.com/organizations/{organizationId} 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/organizations/{organizationId}',
method: 'patch',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"allowedEmailDomains": "string",
"connectEnabled": true,
"connectParentWindowAddress": "string",
"connectParentWindowAddressAllowLocalhost": true,
"connectPrimaryColor": "string",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"defaultDataCapturePeriodMonths": 0,
"defaultTimeout": 0,
"defaultWebhookUrl": "string",
"isEnabled": true,
"name": "string",
"privacyPolicy": "string",
"publicKey": "string",
"termsOfService": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'*/*',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/organizations/{organizationId}',
{
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/organizations/{organizationId}',
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/organizations/{organizationId}', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/organizations/{organizationId}");
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/organizations/{organizationId}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
PATCH /organizations/{organizationId}
Update an Organization
Body parameter
{
"allowedEmailDomains": "string",
"connectEnabled": true,
"connectParentWindowAddress": "string",
"connectParentWindowAddressAllowLocalhost": true,
"connectPrimaryColor": "string",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"defaultDataCapturePeriodMonths": 0,
"defaultTimeout": 0,
"defaultWebhookUrl": "string",
"isEnabled": true,
"name": "string",
"privacyPolicy": "string",
"publicKey": "string",
"termsOfService": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
organizationId | path | integer(int64) | true | organizationId |
allowedEmailDomains | body | string | false | Comma-separated list of allowed e-mail domains for users within this organization |
connectEnabled | body | boolean | false | none |
connectParentWindowAddress | body | string | false | none |
connectParentWindowAddressAllowLocalhost | body | boolean | false | none |
connectPrimaryColor | body | string | false | none |
connectShowBeta | body | boolean | false | none |
connectShowMfa | body | boolean | false | none |
connectShowMock | body | boolean | false | none |
connectShowNonRtcv | body | boolean | false | none |
defaultDataCapturePeriodMonths | body | integer | false | none |
defaultTimeout | body | integer | false | none |
defaultWebhookUrl | body | string | false | none |
isEnabled | body | boolean | false | none |
name | body | string | false | 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
403 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | No Content | None |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
List Organization Users
Code samples
# You can also use wget
curl -X GET https://api.urjanet.com/organizations/{organizationId}/users \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
GET https://api.urjanet.com/organizations/{organizationId}/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/organizations/{organizationId}/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/organizations/{organizationId}/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/organizations/{organizationId}/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/organizations/{organizationId}/users', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/organizations/{organizationId}/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/organizations/{organizationId}/users", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
GET /organizations/{organizationId}/users
Get a list of Users in the given Organization
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
organizationId | path | integer(int64) | true | organizationId |
Example responses
200 Response
{
"_embedded": {
"users": [
{
"_embedded": {
"roles": [
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string"
}
]
},
"_links": {
"self": "string"
},
"accountEnabled": true,
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"credentialsExpired": true,
"email": "string",
"externalSource": "string",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string",
"username": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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 Organization and User
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/organizationsWithUsers \
-H 'Content-Type: application/json' \
-H 'Accept: */*' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/organizationsWithUsers 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/organizationsWithUsers',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"organization": {
"allowedEmailDomains": "string",
"connectEnabled": true,
"connectParentWindowAddress": "string",
"connectParentWindowAddressAllowLocalhost": true,
"connectPrimaryColor": "string",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"defaultDataCapturePeriodMonths": 0,
"defaultTimeout": 0,
"defaultWebhookUrl": "string",
"isEnabled": true,
"name": "string",
"privacyPolicy": "string",
"publicKey": "string",
"termsOfService": "string"
},
"user": {
"accountEnabled": true,
"autoGeneratePassword": true,
"credentialsExpired": true,
"email": "string",
"name": "string",
"organization": "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/organizationsWithUsers',
{
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/organizationsWithUsers',
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/organizationsWithUsers', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/organizationsWithUsers");
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/organizationsWithUsers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /organizationsWithUsers
Create a Sub Organization and a User in a single request
Body parameter
{
"organization": {
"allowedEmailDomains": "string",
"connectEnabled": true,
"connectParentWindowAddress": "string",
"connectParentWindowAddressAllowLocalhost": true,
"connectPrimaryColor": "string",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"defaultDataCapturePeriodMonths": 0,
"defaultTimeout": 0,
"defaultWebhookUrl": "string",
"isEnabled": true,
"name": "string",
"privacyPolicy": "string",
"publicKey": "string",
"termsOfService": "string"
},
"user": {
"accountEnabled": true,
"autoGeneratePassword": true,
"credentialsExpired": true,
"email": "string",
"name": "string",
"organization": "string",
"password": "stringst",
"passwordConfirm": "string",
"roles": [
"string"
],
"username": "string"
}
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
organization | body | PublicOrganizationUpdateRequest | true | none |
» allowedEmailDomains | body | string | false | Comma-separated list of allowed e-mail domains for users within this organization |
» connectEnabled | body | boolean | false | none |
» connectParentWindowAddress | body | string | false | none |
» connectParentWindowAddressAllowLocalhost | body | boolean | false | none |
» connectPrimaryColor | body | string | false | none |
» connectShowBeta | body | boolean | false | none |
» connectShowMfa | body | boolean | false | none |
» connectShowMock | body | boolean | false | none |
» connectShowNonRtcv | body | boolean | false | none |
» defaultDataCapturePeriodMonths | body | integer | false | none |
» defaultTimeout | body | integer | false | none |
» defaultWebhookUrl | body | string | false | none |
» isEnabled | body | boolean | false | none |
» name | body | string | false | 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 |
user | body | PublicUserRequest | true | none |
» 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 |
body | string | true | E-mail address to associate with this user | |
» name | body | string | true | Full name of this user |
» organization | body | string | false | ID of the Organization to which this user belongs. If left blank, user will be assigned to the current organization. |
» password | body | string | false | Password used to authenticate with Urjanet |
» passwordConfirm | body | string | false | Confirm password used to authentica with Urjanet |
» roles | body | [string] | true | List of IDs of the roles 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 |
---|---|---|---|
201 | Created | Created | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
409 | Conflict | Conflict | None |
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 or Sub Organiations
Example responses
200 Response
{
"_embedded": {
"users": [
{
"_embedded": {
"roles": [
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string"
}
]
},
"_links": {
"self": "string"
},
"accountEnabled": true,
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"credentialsExpired": true,
"email": "string",
"externalSource": "string",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string",
"username": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"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",
"organization": "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
Body parameter
{
"accountEnabled": true,
"autoGeneratePassword": true,
"credentialsExpired": true,
"email": "string",
"name": "string",
"organization": "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 |
body | string | true | E-mail address to associate with this user | |
name | body | string | true | Full name of this user |
organization | body | string | false | ID of the Organization to which this user belongs. If left blank, user will be assigned to the current organization. |
password | body | string | false | Password used to authenticate with Urjanet |
passwordConfirm | body | string | false | Confirm password used to authentica with Urjanet |
roles | body | [string] | true | List of IDs of the roles 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 |
---|---|---|---|
201 | Created | Created | None |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
409 | Conflict | Conflict | None |
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 or Sub Organizations
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
userId | path | integer(int64) | true | userId |
Example responses
200 Response
{
"_embedded": {
"roles": [
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string"
}
]
},
"_links": {
"self": "string"
},
"accountEnabled": true,
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"credentialsExpired": true,
"email": "string",
"externalSource": "string",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"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",
"organization": "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",
"organization": "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 |
body | string | true | E-mail address to associate with this user | |
name | body | string | true | Full name of this user |
organization | body | string | false | ID of the Organization to which this user belongs. If left blank, user will be assigned to the current organization. |
password | body | string | false | Password used to authenticate with Urjanet |
passwordConfirm | body | string | false | Confirm password used to authentica with Urjanet |
roles | body | [string] | true | List of IDs of the roles 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 |
---|---|---|---|
204 | No Content | No Content | None |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
409 | Conflict | Conflict | None |
Utility
Download Meter Usage
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/utility/meters/downloads/usages \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/utility/meters/downloads/usages 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/utility/meters/downloads/usages',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"meterIds": "string",
"startDate": null,
"endDate": null
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/utility/meters/downloads/usages',
{
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/utility/meters/downloads/usages',
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/utility/meters/downloads/usages', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/utility/meters/downloads/usages");
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/utility/meters/downloads/usages", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /utility/meters/downloads/usages
Submit a DownloadRequest for all the Statements for selected meters
Downloading a CSV file with statements, sites, meterdata, and associated metadata is actually a 2 step process. The first step (this one) prepares the download and provides a URL that can be used for downloading the CSV file. The next step is to download the file using the returned URL. The contents of the file will follow this schema.
Body parameter
{
"meterIds": "string",
"startDate": null,
"endDate": null
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
meterIds | body | string | true | A comma-separated list of site IDs |
startDate | body | date-time | true | Start date for meter usage statements |
endDate | body | date-time | true | End date for meter usage statements |
Example responses
202 Response
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
202 | Accepted | Accepted | PublicDownloadRequestResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
403 | Forbidden | Forbidden | ErrorResponse |
404 | Not Found | NotFound | ErrorResponse |
Download Site Usage
Code samples
# You can also use wget
curl -X POST https://api.urjanet.com/utility/sites/downloads/usages \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
POST https://api.urjanet.com/utility/sites/downloads/usages 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/utility/sites/downloads/usages',
method: 'post',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const inputBody = '{
"siteIds": "string",
"startDate": null,
"endDate": null
}';
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://api.urjanet.com/utility/sites/downloads/usages',
{
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/utility/sites/downloads/usages',
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/utility/sites/downloads/usages', params={
}, headers = headers)
print r.json()
URL obj = new URL("https://api.urjanet.com/utility/sites/downloads/usages");
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/utility/sites/downloads/usages", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
POST /utility/sites/downloads/usages
Submit a DownloadRequest for all the Statements for selected sites
Downloading a CSV file with statements, sites, meterdata, and associated metadata is actually a 2 step process. The first step (this one) prepares the download and provides a URL that can be used for downloading the CSV file. The next step is to download the file using the returned URL. The contents of the file will follow this schema.
Body parameter
{
"siteIds": "string",
"startDate": null,
"endDate": null
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
siteIds | body | string | true | A comma-separated list of site IDs |
startDate | body | date-time | true | Start date for site usage statements |
endDate | body | date-time | true | End date for site usage statements |
Example responses
202 Response
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:51Z"
}
401 Response
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
202 | Accepted | Accepted | PublicDownloadRequestResource |
401 | Unauthorized | Unauthorized | ErrorResponse |
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 |
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 |
HealthCheckResource
{
"status": "string"
}
HealthCheckResource
Properties
Name | Type | Required | Description |
---|---|---|---|
status | string | false | The current status of the service (UP or DOWN) |
AuthUserRequest
{
"password": "string",
"username": "string"
}
Properties
Name | Type | Required | Description |
---|---|---|---|
password | string | false | Your password to access Urjanet services |
username | string | false | Your username to access Urjanet services |
AuthUserResponse
{
"expires": "string",
"message": "string",
"status": 0,
"token": "string"
}
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 |
CurrentOrganizationRequest
{
"allowedEmailDomains": "string",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"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 |
connectShowBeta | boolean | false | show Beta providers in connect |
connectShowMfa | boolean | false | show MFA providers in connect |
connectShowMock | boolean | false | show Mock providers in connect outside of sandbox mode |
connectShowNonRtcv | boolean | false | show non-RTCV enabled providers in connect |
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": {
"self": "string"
},
"allowedEmailDomains": "string",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"defaultDataCapturePeriodMonths": "string",
"defaultTimeout": "string",
"defaultWebhookUrl": "string",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string",
"privacyPolicy": "string",
"publicKey": "string",
"sourceToken": "string",
"termsOfService": "string",
"uniqueId": "string",
"useSourceToken": true
}
CurrentOrganizationResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
allowedEmailDomains | string | false | Comma-separated list of allowed e-mail domains for users within this organization |
connectShowBeta | boolean | false | show Beta providers in connect |
connectShowMfa | boolean | false | show MFA providers in connect |
connectShowMock | boolean | false | show Mock providers in connect outside of sandbox mode |
connectShowNonRtcv | boolean | false | show non-RTCV enabled providers in connect |
createdBy | string | false | User who created this organization |
createdDate | string(date-time) | false | Date this organization was created |
defaultDataCapturePeriodMonths | string | false | The number of months of data that will be extracted with Urjanet Connect integration |
defaultTimeout | string | false | The timeout value used with Urjanet Connect integration |
defaultWebhookUrl | string | false | The webhook URL used with Urjanet Connect integration |
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 |
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": {
"roles": [
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string"
}
]
},
"_links": {
"self": "string"
},
"email": "string",
"externalSource": "string",
"name": "string"
}
CurrentUserResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» roles | [PublicRoleResource] | false | none |
_links | object | false | none |
» self | string | false | none |
string | false | Your current e-mail address associated with Urjanet | |
externalSource | string | false | none |
name | string | false | Your current name |
PagedPublicOrganizationResource
{
"_embedded": {
"organizations": [
{
"_links": {
"self": "string"
},
"allowedEmailDomains": "string",
"connectEnabled": true,
"connectParentWindowAddress": "string",
"connectParentWindowAddressAllowLocalhost": true,
"connectPrimaryColor": "string",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"createdDate": "2022-04-27T17:18:51Z",
"createdBy": "string",
"defaultDataCapturePeriodMonths": "string",
"defaultSolution": "string",
"defaultTimeout": "string",
"defaultWebhookUrl": "string",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"isEnabled": true,
"name": "string",
"privacyPolicy": "string",
"publicKey": "string",
"sourceToken": "string",
"termsOfService": "string",
"uniqueId": "string",
"useSourceToken": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicOrganizationResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» organizations | [PublicOrganizationResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedProjectResource
{
"_embedded": {
"projects": [
{
"_links": {
"self": "string"
},
"alias": "string",
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expectedAccountStrategy": "CUSTOMER_SUPPLIED",
"id2": "string",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedProjectResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» projects | [ProjectResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicRoleResource
{
"_embedded": {
"roles": [
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicRoleResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» roles | [PublicRoleResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicUserResource
{
"_embedded": {
"users": [
{
"_embedded": {
"roles": [
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string"
}
]
},
"_links": {
"self": "string"
},
"accountEnabled": true,
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"credentialsExpired": true,
"email": "string",
"externalSource": "string",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string",
"username": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicUserResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» users | [PublicUserResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
ParentOrganizationResource
{
"_links": {
"self": "string"
},
"name": "string"
}
ParentOrganizationResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
name | string | false | Name of this organization |
ProjectResource
{
"_links": {
"self": "string"
},
"alias": "string",
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expectedAccountStrategy": "CUSTOMER_SUPPLIED",
"id2": "string",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string"
}
ProjectResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
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 |
PublicOrganizationCreateRequest
{
"allowedEmailDomains": "string",
"defaultDataCapturePeriodMonths": 0,
"defaultTimeout": 0,
"defaultWebhookUrl": "string",
"name": "string",
"privacyPolicy": "string",
"publicKey": "string",
"termsOfService": "string"
}
PublicOrganizationCreateRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
allowedEmailDomains | string | false | Comma-separated list of allowed e-mail domains for users within this organization |
defaultDataCapturePeriodMonths | integer | false | none |
defaultTimeout | integer | false | none |
defaultWebhookUrl | string | false | none |
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 |
PublicOrganizationUpdateRequest
{
"allowedEmailDomains": "string",
"connectEnabled": true,
"connectParentWindowAddress": "string",
"connectParentWindowAddressAllowLocalhost": true,
"connectPrimaryColor": "string",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"defaultDataCapturePeriodMonths": 0,
"defaultTimeout": 0,
"defaultWebhookUrl": "string",
"isEnabled": true,
"name": "string",
"privacyPolicy": "string",
"publicKey": "string",
"termsOfService": "string"
}
PublicOrganizationUpdateRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
allowedEmailDomains | string | false | Comma-separated list of allowed e-mail domains for users within this organization |
connectEnabled | boolean | false | none |
connectParentWindowAddress | string | false | none |
connectParentWindowAddressAllowLocalhost | boolean | false | none |
connectPrimaryColor | string | false | none |
connectShowBeta | boolean | false | none |
connectShowMfa | boolean | false | none |
connectShowMock | boolean | false | none |
connectShowNonRtcv | boolean | false | none |
defaultDataCapturePeriodMonths | integer | false | none |
defaultTimeout | integer | false | none |
defaultWebhookUrl | string | false | none |
isEnabled | boolean | false | none |
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 |
termsOfService | string | false | A URL for your company's terms of service. This will be linked in the Urjanet Connect UI |
PublicOrganizationResource
{
"_links": {
"self": "string"
},
"allowedEmailDomains": "string",
"connectEnabled": true,
"connectParentWindowAddress": "string",
"connectParentWindowAddressAllowLocalhost": true,
"connectPrimaryColor": "string",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"createdDate": "2022-04-27T17:18:51Z",
"createdBy": "string",
"defaultDataCapturePeriodMonths": "string",
"defaultSolution": "string",
"defaultTimeout": "string",
"defaultWebhookUrl": "string",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"isEnabled": true,
"name": "string",
"privacyPolicy": "string",
"publicKey": "string",
"sourceToken": "string",
"termsOfService": "string",
"uniqueId": "string",
"useSourceToken": true
}
PublicOrganizationResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
allowedEmailDomains | string | false | none |
connectEnabled | boolean | false | none |
connectParentWindowAddress | string | false | none |
connectParentWindowAddressAllowLocalhost | boolean | false | none |
connectPrimaryColor | string | false | none |
connectShowBeta | boolean | false | none |
connectShowMfa | boolean | false | none |
connectShowMock | boolean | false | none |
connectShowNonRtcv | boolean | false | none |
createdDate | string(date-time) | false | none |
createdBy | string | false | none |
defaultDataCapturePeriodMonths | string | false | none |
defaultSolution | string | false | none |
defaultTimeout | string | false | none |
defaultWebhookUrl | string | false | none |
lastModifiedBy | string | false | none |
lastModifiedDate | string(date-time) | false | none |
isEnabled | boolean | false | none |
name | string | false | none |
privacyPolicy | string | false | none |
publicKey | string | false | none |
sourceToken | string | false | none |
termsOfService | string | false | none |
uniqueId | string | false | none |
useSourceToken | boolean | false | none |
PublicOrganizationsWithUserRequest
{
"organization": {
"allowedEmailDomains": "string",
"connectEnabled": true,
"connectParentWindowAddress": "string",
"connectParentWindowAddressAllowLocalhost": true,
"connectPrimaryColor": "string",
"connectShowBeta": true,
"connectShowMfa": true,
"connectShowMock": true,
"connectShowNonRtcv": true,
"defaultDataCapturePeriodMonths": 0,
"defaultTimeout": 0,
"defaultWebhookUrl": "string",
"isEnabled": true,
"name": "string",
"privacyPolicy": "string",
"publicKey": "string",
"termsOfService": "string"
},
"user": {
"accountEnabled": true,
"autoGeneratePassword": true,
"credentialsExpired": true,
"email": "string",
"name": "string",
"organization": "string",
"password": "stringst",
"passwordConfirm": "string",
"roles": [
"string"
],
"username": "string"
}
}
PublicOrganizationsWithUserRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
organization | PublicOrganizationUpdateRequest | true | The organization to create |
user | PublicUserRequest | true | The user to create |
PublicRoleResource
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string"
}
PublicRoleResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
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",
"organization": "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 |
string | true | E-mail address to associate with this user | |
name | string | true | Full name of this user |
organization | string | false | ID of the Organization to which this user belongs. If left blank, user will be assigned to the current organization. |
password | string | false | Password used to authenticate with Urjanet |
passwordConfirm | string | false | Confirm password used to authentica with Urjanet |
roles | [string] | true | List of IDs of the roles to assign to this user |
username | string | true | Username used to authenticate with Urjanet; cannot contain spaces |
PublicUserResource
{
"_embedded": {
"roles": [
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string"
}
]
},
"_links": {
"self": "string"
},
"accountEnabled": true,
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"credentialsExpired": true,
"email": "string",
"externalSource": "string",
"lastModifiedBy": "string",
"lastModifiedDate": "2022-04-27T17:18:51Z",
"name": "string",
"username": "string"
}
PublicUserResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» roles | [PublicRoleResource] | false | none |
_links | object | false | none |
» self | string | false | none |
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 |
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": {
"providers": [
{
"_links": {
"serviceTypes": "string",
"parentProvider": "string",
"self": "string"
},
"providerName": "string",
"hasMultiFactorAuthentication": true,
"requiredFields": [
"string"
],
"requiredFieldMetadata": [
{
"fieldName": "string",
"fieldLabel": "string",
"fieldNumber": 0,
"fieldPart": 0,
"fieldLength": 0
}
],
"supportsCredentialValidation": true,
"country": "string",
"enabledSolutions": [
"CREDIT"
],
"serviceTypes": [
"string"
],
"providerId": "string",
"website": "string",
"hasPrepaid": true,
"hasPostpaid": true,
"mock": true,
"beta": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicProviderResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» providers | [PublicProviderResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicServiceTypeResource
{
"_embedded": {
"serviceTypes": [
{
"_links": {
"providers": "string",
"self": "string"
},
"created": "2022-04-27T17:18:51Z",
"modified": "2022-04-27T17:18:51Z",
"name": "string",
"uuid": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicServiceTypeResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» serviceTypes | [PublicServiceTypeResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PublicProviderResource
{
"_links": {
"serviceTypes": "string",
"parentProvider": "string",
"self": "string"
},
"providerName": "string",
"hasMultiFactorAuthentication": true,
"requiredFields": [
"string"
],
"requiredFieldMetadata": [
{
"fieldName": "string",
"fieldLabel": "string",
"fieldNumber": 0,
"fieldPart": 0,
"fieldLength": 0
}
],
"supportsCredentialValidation": true,
"country": "string",
"enabledSolutions": [
"CREDIT"
],
"serviceTypes": [
"string"
],
"providerId": "string",
"website": "string",
"hasPrepaid": true,
"hasPostpaid": true,
"mock": true,
"beta": true
}
PublicProviderResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» serviceTypes | string | false | none |
» parentProvider | string | false | none |
» self | string | false | none |
providerName | string | false | A human readable name for the utility company. This field is searchable. |
hasMultiFactorAuthentication | boolean | false | Indicates that a provider's website may require multi-factor authentication. See here for more details. |
requiredFields | [string] | false | The inputs needed to submit a request for this provider |
requiredFieldMetadata | [object] | false | Detailed information about the required input fields for this provider |
» fieldName | string | false | none |
» fieldLabel | string | false | none |
» fieldNumber | number | false | none |
» fieldPart | number | false | none |
» fieldLength | number | false | none |
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. This field is not searchable. |
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. |
hasPrepaid | boolean | false | Indicates that a provider supports prepaid statements. |
hasPostpaid | boolean | false | Indicates that a provider supports postpaid statements. |
mock | boolean | false | Indicates that a provider is a mock provider |
beta | boolean | false | Indicates that a provider is a beta provider |
PublicServiceTypeResource
{
"_links": {
"providers": "string",
"self": "string"
},
"created": "2022-04-27T17:18:51Z",
"modified": "2022-04-27T17:18:51Z",
"name": "string",
"uuid": "string"
}
PublicServiceTypeResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» providers | string | false | none |
» self | string | false | none |
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",
"interactive": true,
"timeout": 3600,
"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 |
interactive | boolean | false | Indicates that your system can handle a challenge-response workflow (notably MFA). See here for more details. If set to true, webhookUrl is a required field. |
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 |
ChallengeResponseResource
{
"value": "string",
"challenge": "MFA_RESPONSE_ONE_TIME_PASS"
}
Properties
Name | Type | Required | Description |
---|---|---|---|
value | string | false | The requested value from the user for MFA input |
challenge | string | false | The particular challenge that this value corresponds to (e.g. one time pass, security question, etc) |
Enumerated Values
Property | Value |
---|---|
challenge | MFA_RESPONSE_ONE_TIME_PASS |
challenge | MFA_RESPONSE_CODE_METHOD |
challenge | MFA_RESPONSE_CAPTCHA_ANSWER |
SolarRequestDTO
{
"accountNumber": "string",
"webhookUrl": "string",
"correlationId": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string",
"interactive": true,
"periodEnd": "string",
"periodStart": "string",
"providerId": "string",
"timeout": 3600,
"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 |
interactive | boolean | false | Indicates that your system can handle a challenge-response workflow (notably MFA). See here for more details. If set to true, webhookUrl is a required field. |
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",
"interactive": true,
"providerId": "string",
"timeout": 3600,
"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 |
interactive | boolean | false | Indicates that your system can handle a challenge-response workflow (notably MFA). See here for more details. If set to true, webhookUrl is a required field. |
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": {
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"mock": true
}
PublicRequestResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» consent | string | false | none |
» self | string | 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 expire, 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 |
mock | boolean | false | Whether or not the request was submitted to a mock provider |
Enumerated Values
Property | Value |
---|---|
completionStatus | SUCCESS |
completionStatus | PENDING |
completionStatus | FAILURE |
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 | MISSING_REQUIRED_DATA |
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": {
"viewstatementsource": "string",
"self": "string"
},
"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",
"statementType": "BILL"
}
CreditStatementResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» viewstatementsource | string | false | none |
» self | string | false | none |
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 |
statementType | string | false | none |
Enumerated Values
Property | Value |
---|---|
statementType | BILL |
statementType | PREPAID |
PagedCreditStatementResource
{
"_embedded": {
"statements": [
{
"_links": {
"viewstatementsource": "string",
"self": "string"
},
"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",
"statementType": "BILL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedCreditStatementResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» statements | [CreditStatementResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
CreditPaymentResource
{
"_links": {
"viewpaymentsource": "string",
"self": "string"
},
"amount": 0,
"paymentDate": "string",
"currency": "string"
}
CreditPaymentResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» viewpaymentsource | string | false | none |
» self | string | false | none |
amount | number | false | none |
paymentDate | string | false | none |
currency | string | false | none |
PagedCreditPaymentResource
{
"_embedded": {
"payments": [
{
"_links": {
"viewpaymentsource": "string",
"self": "string"
},
"amount": 0,
"paymentDate": "string",
"currency": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedCreditPaymentResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» payments | [CreditPaymentResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
AccountResource
{
"prepaid": true,
"_links": {
"statements": "string",
"self": "string"
},
"accountNumber": "string"
}
CreditAccountResource
Properties
Name | Type | Required | Description |
---|---|---|---|
prepaid | boolean | false | Indicates that an account is prepaid. |
_links | object | false | none |
» statements | string | false | none |
» self | string | false | none |
accountNumber | string | false | none |
PagedAccountResource
{
"_embedded": {
"accounts": [
{
"prepaid": true,
"_links": {
"statements": "string",
"self": "string"
},
"accountNumber": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedAccountResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» accounts | [AccountResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PublicCreditRequestResource
{
"_links": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"periodEnd": "string",
"periodStart": "string",
"mock": true
}
PublicCreditRequestResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» cloneCredit | string | false | none |
» cloneSolar | string | false | none |
» cloneIdentity | string | false | none |
» consent | string | false | none |
» self | string | 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 expire, 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 |
mock | boolean | false | Whether or not the request was submitted to a mock provider |
Enumerated Values
Property | Value |
---|---|
completionStatus | SUCCESS |
completionStatus | PENDING |
completionStatus | FAILURE |
completionStatus | TIMEOUT (Deprecated; may be present on older data) |
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 | MISSING_REQUIRED_DATA |
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": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"periodEnd": "string",
"periodStart": "string",
"mock": true
}
PublicSolarRequestResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» cloneCredit | string | false | none |
» cloneSolar | string | false | none |
» cloneIdentity | string | false | none |
» consent | string | false | none |
» self | string | 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 expire, 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 |
mock | boolean | false | Whether or not the request was submitted to a mock provider |
Enumerated Values
Property | Value |
---|---|
completionStatus | SUCCESS |
completionStatus | PENDING |
completionStatus | FAILURE |
completionStatus | TIMEOUT (Deprecated; may be present on older data) |
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 | MISSING_REQUIRED_DATA |
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": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"mock": true
}
PublicIdentityRequestResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» cloneCredit | string | false | none |
» cloneSolar | string | false | none |
» cloneIdentity | string | false | none |
» consent | string | false | none |
» self | string | 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 expire, 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 |
mock | boolean | false | Whether or not the request was submitted to a mock provider |
Enumerated Values
Property | Value |
---|---|
completionStatus | SUCCESS |
completionStatus | PENDING |
completionStatus | FAILURE |
completionStatus | TIMEOUT (Deprecated; may be present on older data) |
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 | MISSING_REQUIRED_DATA |
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": {
"requests": [
{
"_links": {
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"mock": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicRequestResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» requests | [PublicRequestResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
SolarStatementResource
{
"_links": {
"viewstatementsource": "string",
"self": "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,
"electricCost": 0,
"consumption": 0,
"demand": 0,
"tariff": "string",
"statementMessages": "string",
"statementIntervalStart": "string",
"statementIntervalEnd": "string",
"usageIntervalStart": "string",
"usageIntervalEnd": "string",
"statementType": "BILL"
}
SolarStatementResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» viewstatementsource | string | false | none |
» self | 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 |
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 |
statementType | string | false | none |
Enumerated Values
Property | Value |
---|---|
statementType | BILL |
statementType | PREPAID |
PagedSolarStatementResource
{
"_embedded": {
"statements": [
{
"_links": {
"viewstatementsource": "string",
"self": "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,
"electricCost": 0,
"consumption": 0,
"demand": 0,
"tariff": "string",
"statementMessages": "string",
"statementIntervalStart": "string",
"statementIntervalEnd": "string",
"usageIntervalStart": "string",
"usageIntervalEnd": "string",
"statementType": "BILL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedSolarStatementResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» statements | [SolarStatementResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
IdentityStatementResource
{
"_links": {
"viewstatementsource": "string",
"self": "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",
"statementDate": "string",
"statementType": "BILL"
}
IdentityStatementResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» viewstatementsource | string | false | none |
» self | 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 |
statementDate | string | false | none |
statementType | string | false | none |
Enumerated Values
Property | Value |
---|---|
statementType | BILL |
statementType | PREPAID |
PagedIdentityStatementResource
{
"_embedded": {
"statements": [
{
"_links": {
"viewstatementsource": "string",
"self": "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",
"statementDate": "string",
"statementType": "BILL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedIdentityStatementResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» statements | [IdentityStatementResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicCreditRequestResource
{
"_embedded": {
"requests": [
{
"_links": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"periodEnd": "string",
"periodStart": "string",
"mock": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicCreditRequestResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» requests | [PublicCreditRequestResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicSolarRequestResource
{
"_embedded": {
"requests": [
{
"_links": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"periodEnd": "string",
"periodStart": "string",
"mock": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicSolarRequestResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» requests | [PublicSolarRequestResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicIdentityRequestResource
{
"_embedded": {
"requests": [
{
"_links": {
"cloneCredit": "string",
"cloneSolar": "string",
"cloneIdentity": "string",
"consent": "string",
"self": "string"
},
"accountNumber": "string",
"providerId": "string",
"providerName": "string",
"webhookResult": 0,
"webhookUrl": "string",
"completionStatus": "SUCCESS",
"completionStatusDetail": "NO_STATEMENTS_IN_PERIOD",
"correlationId": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationDate": "2022-04-27T17:18:51Z",
"statementCount": 0,
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"mock": true
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicIdentityRequestResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» requests | [PublicIdentityRequestResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
CreditCloneRequestDTO
{
"periodEnd": "string",
"periodStart": "string",
"webhookUrl": "string",
"accountNumber": "string",
"correlationId": "string",
"timeout": 3600
}
Properties
Name | Type | Required | Description |
---|---|---|---|
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 |
webhookUrl | string | false | Urjanet will send status updates to this URL via HTTP events |
accountNumber | string | false | If provided, only data for this account will be extracted |
correlationId | string | false | An ID used to match the utility data pulled for this request back to users in your system |
timeout | integer(int32) | false | The length of time, in seconds, which Urjanet will continue to fulfill this request |
IdentityCloneRequestDTO
{
"periodEnd": "string",
"periodStart": "string",
"webhookUrl": "string",
"accountNumber": "string",
"correlationId": "string",
"timeout": 3600
}
Properties
Name | Type | Required | Description |
---|---|---|---|
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 |
webhookUrl | string | false | Urjanet will send status updates to this URL via HTTP events |
accountNumber | string | false | If provided, only data for this account will be extracted |
correlationId | string | false | An ID used to match the utility data pulled for this request back to users in your system |
timeout | integer(int32) | false | The length of time, in seconds, which Urjanet will continue to fulfill this request |
SolarCloneRequestDTO
{
"periodEnd": "string",
"periodStart": "string",
"webhookUrl": "string",
"accountNumber": "string",
"correlationId": "string",
"timeout": 3600
}
Properties
Name | Type | Required | Description |
---|---|---|---|
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 |
webhookUrl | string | false | Urjanet will send status updates to this URL via HTTP events |
accountNumber | string | false | If provided, only data for this account will be extracted |
correlationId | string | false | An ID used to match the utility data pulled for this request back to users in your system |
timeout | integer(int32) | false | The length of time, in seconds, which Urjanet will continue to fulfill this request |
DownloadRequestDTO
{
"search": "string"
}
Properties
Name | Type | Required | Description |
---|---|---|---|
search | string | false | An rsql search string |
CurrentOrganizationPaymentRequest
{
"paymentToken": "string"
}
CurrentOrganizationPaymentRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
paymentToken | string | false | none |
PagedPrepaidPricingResource
{
"_embedded": [
{
"_links": {
"self": "string"
},
"amount": 0,
"discount": 0,
"solution": "CREDIT",
"totalPrice": 0
}
],
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPrepaidPricingResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [PrepaidPricingResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedProductResource
{
"_embedded": [
{
"_links": {
"self": "string"
},
"basePrice": 0,
"solution": "CREDIT"
}
],
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedProductResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [ProductResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedUsageCreditResource
{
"_embedded": [
{
"_links": {
"self": "string"
},
"amount": 0,
"amountRemaining": 0,
"expirationDate": "2022-04-27T17:18:51Z",
"solution": "CREDIT"
}
],
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedUsageCreditResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [UsageCreditResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PaymentSourceResource
{
"_links": {
"self": "string"
},
"billingEmail": "string",
"createdBy": "string",
"createdDate": "2022-04-27T17:18:51Z",
"expirationMonth": 0,
"expirationYear": 0,
"last4": "string",
"lastModified": "2022-04-27T17:18:51Z",
"lastModifiedBy": "string"
}
PaymentSourceResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
billingEmail | string | false | none |
createdBy | string | false | none |
createdDate | string(date-time) | false | none |
expirationMonth | integer(int64) | false | none |
expirationYear | integer(int64) | false | none |
last4 | string | false | none |
lastModified | string(date-time) | false | none |
lastModifiedBy | string | false | none |
InvoiceList
{
"_embedded": [
{
"statementDate": "2022-04-27T17:18:51Z",
"dueDate": "2022-04-27T17:18:51Z",
"invoiceType": "string",
"isSubscription": true,
"quantity": 0,
"amountDue": 0,
"isPaid": true,
"pdfUrl": "string"
}
],
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
InvoiceList
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [InvoiceResource] | false | none |
page | PageMetadata | false | none |
InvoiceResource
{
"statementDate": "2022-04-27T17:18:51Z",
"dueDate": "2022-04-27T17:18:51Z",
"invoiceType": "string",
"isSubscription": true,
"quantity": 0,
"amountDue": 0,
"isPaid": true,
"pdfUrl": "string"
}
InvoiceResource
Properties
Name | Type | Required | Description |
---|---|---|---|
statementDate | string(date-time) | false | none |
dueDate | string(date-time) | false | none |
invoiceType | string | false | none |
isSubscription | boolean | false | none |
quantity | integer(int64) | false | none |
amountDue | number | false | none |
isPaid | boolean | false | none |
pdfUrl | string | false | none |
PrepaidPricingResource
{
"_links": {
"self": "string"
},
"amount": 0,
"discount": 0,
"solution": "CREDIT",
"totalPrice": 0
}
PrepaidPricingResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
amount | integer(int32) | false | none |
discount | number | false | none |
solution | string | false | none |
totalPrice | number | false | none |
Enumerated Values
Property | Value |
---|---|
solution | CREDIT |
solution | SOLAR |
solution | IDENTITY |
solution | RECURRING_STANDARD |
ProductResource
{
"_links": {
"self": "string"
},
"basePrice": 0,
"solution": "CREDIT"
}
ProductResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
basePrice | number | false | none |
solution | string | false | none |
Enumerated Values
Property | Value |
---|---|
solution | CREDIT |
solution | SOLAR |
solution | IDENTITY |
solution | RECURRING_STANDARD |
TotalUsageCreditResource
{
"_links": {
"self": "string"
},
"totalUsageCredits": {
"property1": 0,
"property2": 0
}
}
TotalUsageCreditResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
totalUsageCredits | object | false | none |
» additionalProperties | integer(int32) | false | none |
UsageCreditRequest
{
"prepaidPricing": "string"
}
UsageCreditRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
prepaidPricing | string | false | none |
UsageCreditResource
{
"_links": {
"self": "string"
},
"amount": 0,
"amountRemaining": 0,
"expirationDate": "2022-04-27T17:18:51Z",
"solution": "CREDIT"
}
UsageCreditResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
amount | integer(int32) | false | none |
amountRemaining | integer(int32) | false | none |
expirationDate | string(date-time) | false | none |
solution | string | false | none |
Enumerated Values
Property | Value |
---|---|
solution | CREDIT |
solution | SOLAR |
solution | IDENTITY |
solution | RECURRING_STANDARD |
BulkCredentialUploadStatus
{
"invalidRows": 0,
"rowsStatus": [
"string"
],
"successful": true,
"validRows": 0
}
BulkCredentialUploadStatus
Properties
Name | Type | Required | Description |
---|---|---|---|
invalidRows | integer(int32) | false | none |
rowsStatus | [string] | false | none |
successful | boolean | false | none |
validRows | integer(int32) | false | none |
CredentialSecretsResource
{
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
CredentialSecretsResource
Properties
Name | Type | Required | Description |
---|---|---|---|
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 |
username | string | false | 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 |
PagedPublicAccountDeleteLogResource
{
"_embedded": {
"deletionLogs": [
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdOn": "2022-04-27T17:18:52Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicAccountDeleteLogResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» deletionLogs | [PublicAccountDeleteLogResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicAccountEventResource
{
"_embedded": {
"accountEvents": [
{
"_links": {
"self": "string"
},
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"eventType": "ACCOUNT_REQUESTED",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicAccountEventResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» accountEvents | [PublicAccountEventResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicAccountResource
{
"_embedded": {
"accounts": [
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:52Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicAccountResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» accounts | [PublicAccountResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicCredentialDeleteLogResource
{
"_embedded": {
"deletionLogs": [
{
"createdBy": "string",
"createdOn": "2022-04-27T17:18:52Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicCredentialDeleteLogResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» deletionLogs | [PublicCredentialDeleteLogResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicCredentialEventResource
{
"_embedded": {
"credentialEvents": [
{
"_links": {
"self": "string"
},
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"eventType": "CREDENTIAL_CREATED",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicCredentialEventResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» credentialEvents | [PublicCredentialEventResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicCredentialResource
{
"_embedded": {
"credentials": [
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"refreshUrl": "string",
"download": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:52Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:52Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicCredentialResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» credentials | [PublicCredentialResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicStatementResource
{
"_embedded": {
"statements": [
{
"_links": {
"accounts": "string",
"source": "string",
"meters": "string",
"charges": "string",
"self": "string"
},
"serviceAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"billingAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"paymentAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"amountDue": 0,
"balance": 0,
"lateFees": 0,
"dueDate": "2022-04-27",
"endDate": "2022-04-27",
"invoiceNumber": "string",
"createdDate": "2022-04-27",
"modifiedDate": "2022-04-27",
"startDate": "2022-04-27",
"statementDate": "2022-04-27",
"statementType": "BILL"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicStatementResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» statements | [PublicStatementResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PublicPaymentResource
{
"amount": 0,
"currency": "string",
"paymentDate": "2022-04-27"
}
PublicPaymentResource
Properties
Name | Type | Required | Description |
---|---|---|---|
amount | number | false | This field is searchable |
currency | string | false | none |
paymentDate | string(date) | false | This field is searchable |
PagedPublicPaymentResource
{
"_embedded": {
"payments": [
{
"amount": 0,
"currency": "string",
"paymentDate": "2022-04-27"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicPaymentResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» payments | [PublicPaymentResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PublicAccountCustomDataRequest
{
"property1": "string",
"property2": "string"
}
PublicAccountCustomDataRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
additionalProperties | string | false | none |
PublicAccountDeleteLogResource
{
"_links": {
"self": "string"
},
"createdBy": "string",
"createdOn": "2022-04-27T17:18:52Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
PublicAccountDeleteLogResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
createdBy | string | false | none |
createdOn | string(date-time) | false | none |
numberOfAccounts | integer(int32) | false | none |
numberOfCredentials | integer(int32) | false | none |
numberOfStatements | integer(int32) | false | none |
PublicAccountEventResource
{
"_links": {
"self": "string"
},
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"eventType": "ACCOUNT_REQUESTED",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
PublicAccountEventResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
created | string(date-time) | false | The date-time this event occurred. |
createdBy | string | false | The user that initiated the event |
eventType | string | false | The type of event that occurred |
fieldName | string | false | For custom data changes, represents which custom data field was modified |
newValue | string | false | For custom data changes, represents the newly assigned value of the field |
oldValue | string | false | For custom data changes, represents the previous value of the field |
Enumerated Values
Property | Value |
---|---|
eventType | ACCOUNT_REQUESTED |
eventType | ACCOUNT_ENABLED |
eventType | ACCOUNT_DISABLED |
eventType | ACCOUNT_UPDATED |
eventType | ACCOUNT_CUSTOM_DATA_UPDATED |
eventType | ACCOUNT_CREATED |
eventType | ACCOUNT_AGING |
PublicAccountResource
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"events": "string",
"customData": "string",
"payments": "string",
"download": "string",
"credentials": "string",
"statements": "string",
"self": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:52Z",
"lastModifiedBy": "string",
"enabled": true,
"prepaid": true,
"normalizedAccountNumber": "string",
"latestNewStatement": null,
"latestStatementDate": null,
"numberOfStatements": 0,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
PublicAccountResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» customData | object | false | none |
_links | object | false | none |
» provider | string | false | none |
» events | string | false | none |
» customData | string | false | none |
» payments | string | false | none |
» download | string | false | none |
» credentials | string | false | none |
» statements | string | false | none |
» self | string | false | none |
accountNumber | string | false | This field is searchable. |
created | string(date-time) | false | none |
createdBy | string | false | none |
lastModified | string(date-time) | false | none |
lastModifiedBy | string | false | none |
enabled | boolean | false | Controls whether data will continue to be extracted for this account. |
prepaid | boolean | false | Indicates that an account is prepaid. |
normalizedAccountNumber | string | false | Leading zeroes and non-word characters (e.g. dashes, underscores, etc.) are removed in this field. |
latestNewStatement | any | false | This represents when we've most recently stored any newly extracted data for this account |
latestStatementDate | any | false | This is the most recent statement date among all statements extracted for this account |
numberOfStatements | integer(int32) | false | none |
providerName | string | false | This field is searchable. |
status | string | false | A high-level status for the account. See this table for more information. This field is searchable. |
statusDetail | string | false | A detailed status for the account. See this table for more information. This field is searchable. |
type | string | false | Represents |
Enumerated Values
Property | Value |
---|---|
status | OK |
status | PENDING |
status | ACCESS_ISSUE |
status | OLD |
statusDetail | ACCOUNT_CLOSED |
statusDetail | ACCOUNT_NOT_FOUND |
statusDetail | ACCOUNT_NUMBER_CHANGE |
statusDetail | DORMANT |
statusDetail | E_BILL_REQUIRED |
statusDetail | EXTRACTION_FAILURE |
statusDetail | INVALID_SOURCE |
statusDetail | NO_ACTION_REQUIRED |
statusDetail | STATEMENT_UNAVAILABLE |
statusDetail | UNDER_REVIEW |
statusDetail | ACCOUNT_SETUP_REQUIRED |
statusDetail | INSUFFICIENT_DATA |
type | NORMAL |
type | SUMMARY |
type | SUB_ACCOUNT |
PublicAccountsCountResource
{
"_links": {
"self": "string"
},
"newAccounts": 0,
"oldAccounts": 0,
"subscribedAccounts": 0,
"totalAccounts": 0,
"unsubscribedAccounts": 0
}
PublicAccountsCountResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
newAccounts | integer(int64) | false | none |
oldAccounts | integer(int64) | false | none |
subscribedAccounts | integer(int64) | false | none |
totalAccounts | integer(int64) | false | none |
unsubscribedAccounts | integer(int64) | false | none |
PublicCreateAccountRequest
{
"accountNumber": "string",
"enabled": true,
"providerId": "string"
}
PublicCreateAccountRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
accountNumber | string | false | none |
enabled | boolean | false | Controls whether data will continue to be extracted for this account. |
providerId | string | false | The primary key used to represent this provider |
PublicCredentialCountResource
{
"_links": {
"self": "string"
},
"active": 0,
"inactive": 0,
"issues": 0,
"total": 0
}
PublicCredentialCountResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
active | integer(int64) | false | none |
inactive | integer(int64) | false | none |
issues | integer(int64) | false | none |
total | integer(int64) | false | none |
PublicCredentialCustomDataRequest
{
"property1": "string",
"property2": "string"
}
PublicCredentialCustomDataRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
additionalProperties | string | false | none |
PublicCredentialDeleteLogResource
{
"createdBy": "string",
"createdOn": "2022-04-27T17:18:52Z",
"numberOfAccounts": 0,
"numberOfCredentials": 0,
"numberOfStatements": 0
}
PublicCredentialDeleteLogResource
Properties
Name | Type | Required | Description |
---|---|---|---|
createdBy | string | false | none |
createdOn | string(date-time) | false | none |
numberOfAccounts | integer(int32) | false | none |
numberOfCredentials | integer(int32) | false | none |
numberOfStatements | integer(int32) | false | none |
PublicCredentialEventResource
{
"_links": {
"self": "string"
},
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"eventType": "CREDENTIAL_CREATED",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
PublicCredentialEventResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
created | string(date-time) | false | The date-time this event occurred. |
createdBy | string | false | The user that initiated the event |
eventType | string | false | The type of event that occurred |
fieldName | string | false | For custom data changes, represents which custom data field was modified |
newValue | string | false | For custom data changes, represents the newly assigned value of the field |
oldValue | string | false | For custom data changes, represents the previous value of the field |
Enumerated Values
Property | Value |
---|---|
eventType | CREDENTIAL_CREATED |
eventType | CREDENTIAL_ENABLED |
eventType | CREDENTIAL_DISABLED |
eventType | CREDENTIAL_UPDATED |
eventType | CREDENTIAL_CUSTOM_DATA_UPDATED |
eventType | CREDENTIAL_ACQ_TEMPLATE_UPDATED |
PublicCredentialRequest
{
"correlationId": "string",
"providerId": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string"
}
PublicCredentialRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
correlationId | string | false | An ID used to match the utility data pulled for this request back to users in your system |
providerId | string | false | The primary key used to represent this provider |
username | string | false | 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 |
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 |
PublicProviderCredentialRequest
{
"correlationId": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string"
}
PublicProviderCredentialRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
correlationId | string | false | An ID used to match the utility data pulled for this request back to users in your system |
username | string | false | 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 |
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 |
PublicCredentialResource
{
"_embedded": {
"customData": {}
},
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"refreshUrl": "string",
"download": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:52Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:52Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
PublicCredentialResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» customData | object | false | none |
_links | object | false | none |
» provider | string | false | none |
» passwords | string | false | none |
» events | string | false | none |
» customData | string | false | none |
» consent | string | false | none |
» updateUrl | string | false | none |
» refreshUrl | string | false | none |
» download | string | false | none |
» accounts | string | false | none |
» self | string | false | none |
runHistory | boolean | false | none |
correlationId | string | false | An ID used to match the utility data pulled for this request back to users in your system |
created | string(date-time) | false | The date-time the credential was registered in Urjanet's system |
createdBy | string | false | none |
enabled | boolean | false | Controls whether data will continue to be extracted behind this credential. |
lastModified | string(date-time) | false | none |
lastModifiedBy | string | false | none |
nextScheduledRun | string(date-time) | false | The time that this credential is next scheduled to be ran in our system |
providerName | string | false | This field is searchable. |
status | string | false | A high-level status for the credential. See this table for more information. This field is searchable. |
statusDetail | string | false | A detailed status for the credential. See this table for more information. This field is searchable. |
username | string | false | 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 |
Enumerated Values
Property | Value |
---|---|
status | OK |
status | PENDING |
status | ACTION_REQUIRED |
statusDetail | ACCOUNT_LOCKED |
statusDetail | E_BILL_REQUIRED |
statusDetail | LOGIN_FAILURE |
statusDetail | MULTI_FACTOR_AUTH_FAILURE |
statusDetail | NAVIGATION_FAILURE |
statusDetail | NO_ACCOUNTS_FOUND |
statusDetail | NO_ACTION_REQUIRED |
statusDetail | SECURITY_QUESTIONS |
statusDetail | STATEMENT_UNAVAILABLE |
statusDetail | UNDER_REVIEW |
statusDetail | UNSUPPORTED_CAPTCHA |
statusDetail | USER_ACTION_REQUIRED |
statusDetail | WEBSITE_DOWN |
statusDetail | ACCOUNT_SETUP_REQUIRED |
PublicDeleteRequest
{
"ids": [
"string"
]
}
PublicDeleteRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
ids | [string] | false | none |
PublicDownloadAccountsRequest
{
"accountIds": "string",
"search": "string"
}
PublicDownloadAccountsRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
accountIds | string | false | A comma-separated list of account IDs |
search | string | false | An RSQL search string for a list of accounts |
PublicDownloadCredentialsRequest
{
"credentialCriteria": "string"
}
PublicDownloadCredentialsRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
credentialCriteria | string | false | An RSQL search string for a list of credentials |
PublicDownloadStatementsRequest
{
"search": "string"
}
PublicDownloadStatementsRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
search | string | false | An RSQL search string for a list of statements |
PublicDownloadRequestResource
{
"_links": {
"download": "string"
},
"createdDate": "2022-04-27T17:18:52Z"
}
PublicDownloadRequestResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» download | string | false | none |
createdDate | string(date-time) | false | none |
PublicFileResource
{
"_links": {
"self": "string"
},
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"lastModified": "2022-04-27T17:18:52Z",
"sourceType": "TAG_NAME",
"status": "NEW"
}
PublicFileResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
created | string(date-time) | false | none |
createdBy | string | false | none |
lastModified | string(date-time) | false | none |
sourceType | string | false | none |
status | string | false | none |
Enumerated Values
Property | Value |
---|---|
sourceType | TAG_NAME |
sourceType | UNCLASSIFIED |
sourceType | HTML |
sourceType | CSS |
sourceType | PNG |
sourceType | JPG |
sourceType | GIF |
sourceType | TIFF |
sourceType | SVG |
sourceType | |
sourceType | JSON |
sourceType | CSV |
sourceType | XML |
sourceType | XLS |
sourceType | XLSX |
sourceType | TXT |
sourceType | ZIP |
sourceType | MSOTF |
sourceType | OTF |
sourceType | SFNT |
sourceType | TTF |
sourceType | WOFF |
sourceType | WOFF2 |
sourceType | URJA_NODE_LIST |
sourceType | URJA_NAV_HISTORY |
sourceType | INSERT_BILL |
sourceType | EDI |
sourceType | X12 |
sourceType | WOOT |
status | NEW |
status | PENDING |
status | SUCCESS |
status | REJECTED |
PublicOrganizationCustomDataRequest
{
"customData1Name": "string",
"customData2Name": "string",
"customData3Name": "string",
"customData4Name": "string",
"customData5Name": "string",
"customData6Name": "string",
"customData7Name": "string",
"customData8Name": "string",
"customData9Name": "string",
"customData10Name": "string"
}
PublicOrganizationCustomDataRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
customData1Name | string | false | none |
customData2Name | string | false | none |
customData3Name | string | false | none |
customData4Name | string | false | none |
customData5Name | string | false | none |
customData6Name | string | false | none |
customData7Name | string | false | none |
customData8Name | string | false | none |
customData9Name | string | false | none |
customData10Name | string | false | none |
PublicOrganizationCustomDataResource
{
"_links": {
"self": "string"
},
"customData1Name": "string",
"customData2Name": "string",
"customData3Name": "string",
"customData4Name": "string",
"customData5Name": "string",
"customData6Name": "string",
"customData7Name": "string",
"customData8Name": "string",
"customData9Name": "string",
"customData10Name": "string",
"name": "string"
}
PublicOrganizationCustomDataResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
customData1Name | string | false | none |
customData2Name | string | false | none |
customData3Name | string | false | none |
customData4Name | string | false | none |
customData5Name | string | false | none |
customData6Name | string | false | none |
customData7Name | string | false | none |
customData8Name | string | false | none |
customData9Name | string | false | none |
customData10Name | string | false | none |
name | string | false | none |
PublicStatementCountRequest
{
"accountIds": "string",
"search": "string"
}
PublicStatementCountRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
accountIds | string | false | none |
search | string | false | none |
PublicStatementCountResource
{
"numberOfStatements": 0
}
PublicStatementCountResource
Properties
Name | Type | Required | Description |
---|---|---|---|
numberOfStatements | integer(int64) | false | none |
PublicStatementResource
{
"_links": {
"accounts": "string",
"source": "string",
"meters": "string",
"charges": "string",
"self": "string"
},
"serviceAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"billingAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"paymentAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"amountDue": 0,
"balance": 0,
"lateFees": 0,
"dueDate": "2022-04-27",
"endDate": "2022-04-27",
"invoiceNumber": "string",
"createdDate": "2022-04-27",
"modifiedDate": "2022-04-27",
"startDate": "2022-04-27",
"statementDate": "2022-04-27",
"statementType": "BILL"
}
PublicStatementResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» accounts | string | false | none |
» source | string | false | none |
» meters | string | false | none |
» charges | string | false | none |
» self | string | false | none |
serviceAddress | SimpleAddress | false | May not be populated at this level for solutions that present meter-level data |
billingAddress | SimpleAddress | false | none |
paymentAddress | SimpleAddress | false | none |
amountDue | number | false | none |
balance | number | false | none |
lateFees | number | false | none |
dueDate | string(date) | false | none |
endDate | string(date) | false | none |
invoiceNumber | string | false | none |
createdDate | string(date) | false | none |
modifiedDate | string(date) | false | none |
startDate | string(date) | false | none |
statementDate | string(date) | false | none |
statementType | string | false | none |
Enumerated Values
Property | Value |
---|---|
statementType | BILL |
statementType | NOTICE |
statementType | ADJUSTMENT |
statementType | PREPAID |
PublicUpdateAccountRequest
{
"enabled": true
}
PublicUpdateAccountRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
enabled | boolean | false | Controls whether data will continue to be extracted for this account. |
PublicUpdateCredentialRequest
{
"enabled": true,
"correlationId": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string",
"interactive": true,
"runHistory": true
}
PublicUpdateCredentialRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
enabled | boolean | false | Controls whether data will continue to be extracted behind this credential. |
correlationId | string | false | An ID used to match the utility data pulled for this request back to users in your system |
username | string | false | 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 |
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 |
interactive | boolean | false | none |
runHistory | boolean | false | none |
SimpleAddress
{
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
}
SimpleAddress
Properties
Name | Type | Required | Description |
---|---|---|---|
recipient | string | false | none |
city | string | false | none |
country | string | false | none |
postalCode | string | false | none |
rawAddress | string | false | none |
state | string | false | none |
streetLine1 | string | false | none |
streetLine2 | string | false | none |
ConsentResource
{
"consentStatus": "string",
"credentialCreatedDate": "2022-04-27T17:18:52Z",
"lastModifiedDate": "2022-04-27T17:18:52Z",
"origin": "API",
"privacyPolicyUrl": "string",
"revokeDate": "2022-04-27T17:18:52Z",
"termsOfServiceUrl": "string"
}
ConsentResource
Properties
Name | Type | Required | Description |
---|---|---|---|
consentStatus | string | false | none |
credentialCreatedDate | string(date-time) | false | none |
lastModifiedDate | string(date-time) | false | none |
origin | string | false | none |
privacyPolicyUrl | string | false | none |
revokeDate | string(date-time) | false | none |
termsOfServiceUrl | string | false | none |
Enumerated Values
Property | Value |
---|---|
origin | API |
origin | CONNECT |
PublicCredentialUrlResource
{
"updateUrl": "string",
"expiration": "2022-04-27T17:18:52Z"
}
PublicCredentialUrlResource
Properties
Name | Type | Required | Description |
---|---|---|---|
updateUrl | string | false | none |
expiration | string(date-time) | false | none |
PublicCredentialRefreshUrlResource
{
"refreshUrl": "string",
"expiration": "2022-04-27T17:18:52Z"
}
PublicCredentialRefreshUrlResource
Properties
Name | Type | Required | Description |
---|---|---|---|
refreshUrl | string | false | none |
expiration | string(date-time) | false | none |
PublicCredentialsResendWebhookRequest
{
"resourceIds": [
"string"
]
}
PublicCredentialsResendWebhookRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
resourceIds | [string] | true | List of credential IDs |
CredentialDownloadResource
{
"credentialId": "string",
"username": "string",
"userame2": "string",
"username3": "string",
"username4": "string",
"providerName": "string",
"correlationId": "string",
"status": "string",
"statusDetail": "string",
"created": "2022-04-27T17:18:52Z",
"modified": "2022-04-27T17:18:52Z"
}
Properties
Name | Type | Required | Description |
---|---|---|---|
credentialId | string | false | none |
username | string | false | none |
userame2 | string | false | none |
username3 | string | false | none |
username4 | string | false | none |
providerName | string | false | none |
correlationId | string | false | none |
status | string | false | none |
statusDetail | string | false | none |
created | string(date-time) | false | none |
modified | string(date-time) | false | none |
ConsentDownloadResource
{
"credentialId": "string",
"correlationId": "string",
"status": "string",
"solution": "string",
"privacyPolicyURL": "string",
"termsOfServiceURL": "string",
"origin": "string",
"credentialURL": "string",
"createdDate": "2022-04-27T17:18:52Z",
"provider ID": "string",
"username": "string",
"lastModifiedDate": "2022-04-27T17:18:52Z"
}
Properties
Name | Type | Required | Description |
---|---|---|---|
credentialId | string | false | none |
correlationId | string | false | none |
status | string | false | none |
solution | string | false | none |
privacyPolicyURL | string | false | none |
termsOfServiceURL | string | false | none |
origin | string | false | none |
credentialURL | string | false | none |
createdDate | string(date-time) | false | none |
provider ID | string | false | none |
username | string | false | none |
lastModifiedDate | string(date-time) | false | none |
AccountDownloadResource
{
"logicalAccountId": "string",
"createdDate": "string",
"accountType": "string",
"normalizedAccountNumber": "string",
"rawAccountNumber": "string",
"utilityProviderId": "string",
"providerName": "string",
"summaryAccountNumber": "string",
"statementId": "string",
"invoiceNumber": "string",
"transactionType": "string",
"date": "2022-04-27",
"dueDate": "2022-04-27",
"startDate": "2022-04-27",
"endDate": "2022-04-27",
"totalAmount": 0,
"outstandingBalance": 0,
"lateFee": 0,
"balanceAdjustments": 0,
"paymentCurrency": "string",
"rawServiceAddress": "string",
"serviceRecipientName": "string",
"serviceStreet": "string",
"serviceStreet2": "string",
"serviceCity": "string",
"serviceState": "string",
"serviceZipCode": "string",
"rawBillingAddress": "string",
"billingRecipientName": "string",
"billingStreet": "string",
"billingStreet2": "string",
"billingCity": "string",
"billingState": "string",
"billingZipCode": "string",
"correlationId": "string"
}
Properties
Name | Type | Required | Description |
---|---|---|---|
logicalAccountId | string | false | none |
createdDate | string | false | none |
accountType | string | false | none |
normalizedAccountNumber | string | false | none |
rawAccountNumber | string | false | none |
utilityProviderId | string | false | none |
providerName | string | false | none |
summaryAccountNumber | string | false | none |
statementId | string | false | none |
invoiceNumber | string | false | none |
transactionType | string | false | none |
date | string(date) | false | none |
dueDate | string(date) | false | none |
startDate | string(date) | false | none |
endDate | string(date) | false | none |
totalAmount | number | false | none |
outstandingBalance | number | false | none |
lateFee | number | false | none |
balanceAdjustments | number | false | none |
paymentCurrency | string | false | none |
rawServiceAddress | string | false | none |
serviceRecipientName | string | false | none |
serviceStreet | string | false | none |
serviceStreet2 | string | false | none |
serviceCity | string | false | none |
serviceState | string | false | none |
serviceZipCode | string | false | none |
rawBillingAddress | string | false | none |
billingRecipientName | string | false | none |
billingStreet | string | false | none |
billingStreet2 | string | false | none |
billingCity | string | false | none |
billingState | string | false | none |
billingZipCode | string | false | none |
correlationId | string | false | none |
ConsoleZendeskTicket
{
"team": "string",
"description": "string"
}
ConsoleZendeskTicket
Properties
Name | Type | Required | Description |
---|---|---|---|
team | string | true | The team associated with the ticket |
description | string | true | Description of your request |
PagedUtilityPaymentResource
{
"_embedded": {
"payments": [
{
"amount": 0,
"currency": "string",
"paymentDate": "2022-04-27"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedUtilityPaymentResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» payments | [UtilityPaymentResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedUtilityCredentialEventResource
{
"_embedded": {
"credentialEvents": [
{
"_links": {
"self": "string"
},
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"eventType": "CREDENTIAL_CREATED",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedUtilityCredentialEventResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» credentialEvents | [UtilityCredentialEventResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedUtilityAccountEventResource
{
"_embedded": {
"accountEvents": [
{
"_links": {
"self": "string"
},
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"eventType": "ACCOUNT_REQUESTED",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedUtilityAccountEventResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» accountEvents | [UtilityAccountEventResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedUtilityCredentialResource
{
"_embedded": {
"credentials": [
{
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:52Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:52Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
]
},
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedUtilityCredentialResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | object | false | none |
» credentials | [UtilityCredentialResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicUtilityAccountDataResource
{
"_embedded": [
{
"_links": {
"account": "string",
"statement": "string"
},
"accountName1": "string",
"accountName2": "string",
"accountNumber": "string",
"additionalProviderAlias": "string",
"amountDue": 0,
"amountDueAfterDueDate": 0,
"amountDueBeforeDueDate": 0,
"amountDueByDate": "2022-04-27T17:18:52Z",
"billingAddress": {
"addressType": "FULL",
"city": "string",
"country": "string",
"fullAddress": "string",
"postalCode": "string",
"recipient": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"charges": [
{
"additionalRateMultiplier": 0,
"averageUnitCost": 0,
"chargeActualName": "string",
"chargeAmount": 0,
"chargeAmountCurrency": "string",
"chargeGroupHeading": "string",
"chargeName": "string",
"chargeRate": 0,
"chargeRateAdder": 0,
"chargeRateBase": 0,
"chargeRateCurrency": "string",
"chargeType": "DEBIT",
"chargeUnitsUsed": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"lifecycleStage": "string",
"measurementType": "string",
"tariff": {
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
},
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"unitsPerRate": 0,
"usageUnit": "string"
}
],
"created": "2022-04-27T17:18:52Z",
"customerNumber": "string",
"cycleNumber": "string",
"disconnectDate": "2022-04-27T17:18:52Z",
"discountBeforeDueDate": 0,
"facilityName": "string",
"facilityNumber": "string",
"finalBillNotice": "string",
"insallmentOutstanding": 0,
"installmentDue": 0,
"mapNumber": "string",
"meterData": [
{
"_links": {
"meter": "string",
"statement": "string"
},
"amountDue": 0,
"amountDueAfterDueDate": 0,
"amountDueBeforeDueDate": 0,
"amountDueByDate": "2022-04-27T17:18:52Z",
"bulbQuantity": 0,
"bulbType": "string",
"charges": [
{
"additionalRateMultiplier": 0,
"averageUnitCost": 0,
"chargeActualName": "string",
"chargeAmount": 0,
"chargeAmountCurrency": "string",
"chargeGroupHeading": "string",
"chargeName": "string",
"chargeRate": 0,
"chargeRateAdder": 0,
"chargeRateBase": 0,
"chargeRateCurrency": "string",
"chargeType": "DEBIT",
"chargeUnitsUsed": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"lifecycleStage": "string",
"measurementType": "string",
"tariff": {
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
},
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"unitsPerRate": 0,
"usageUnit": "string"
}
],
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"customerNumber": "string",
"cycleNumber": "string",
"deregulationStatus": "string",
"disconnectDate": "2022-04-27T17:18:52Z",
"discountBeforeDueDate": 0,
"energyAnniversaryDate": "2022-04-27T17:18:52Z",
"energyCarryForward": 0,
"energyNewCarryForward": 0,
"facilityName": "string",
"facilityNumber": "string",
"finalBillNotice": "string",
"gridPointLineLoss": 0,
"lineLoss": 0,
"mapNumber": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterNumber": "string",
"meterReadDate": "2022-04-27T17:18:52Z",
"newCharges": 0,
"nextReadDate": "2022-04-27T17:18:52Z",
"normalizedMeterNumber": "string",
"normalizedPodNumber": "string",
"normalizedPreviousMeterNumber": "string",
"outstandingBalance": 0,
"pipeType": "string",
"podNumber": "string",
"powerFactor": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousBalance": 0,
"previousMeterConstantMultiplier": 0,
"previousMeterNumber": "string",
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"serviceDescription": "string",
"serviceType": "string",
"totalCharges": 0,
"usages": [
{
"calorificValue": 0,
"citedUsage": 0,
"contractUsage": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"hoursOfUse": 0,
"loadFactor": 0,
"loadType": "string",
"measuredUsage": 0,
"measurementType": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterReadDate": "2022-04-27T17:18:52Z",
"meterReadType": "string",
"meterReadingDelta": 0,
"meterReadingDeltaPrevious": 0,
"meterReadingDeltaUsageUnit": "string",
"meterReadingRaw": 0,
"meterReadingRawPrevious": 0,
"noncoincidentalUsage": 0,
"numberOfDaysInPeriod": 0,
"outageBlock": "string",
"powerFactor": 0,
"pressureMultiplier": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousMeterReadType": "string",
"previousReadTypeAsPrinted": "string",
"previousUsage": 0,
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"readingSchedule": "string",
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"usageActualName": "string",
"usageUnit": "string"
}
]
}
],
"newCharges": 0,
"normalizedAccountNumber": "string",
"outstandingBalance": 0,
"paymentAddress": {
"addressType": "FULL",
"city": "string",
"country": "string",
"fullAddress": "string",
"postalCode": "string",
"recipient": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"previousBalance": 0,
"providerClassification": "PRIMARY",
"totalCharges": 0,
"usages": [
{
"calorificValue": 0,
"citedUsage": 0,
"contractUsage": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"hoursOfUse": 0,
"loadFactor": 0,
"loadType": "string",
"measuredUsage": 0,
"measurementType": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterReadDate": "2022-04-27T17:18:52Z",
"meterReadType": "string",
"meterReadingDelta": 0,
"meterReadingDeltaPrevious": 0,
"meterReadingDeltaUsageUnit": "string",
"meterReadingRaw": 0,
"meterReadingRawPrevious": 0,
"noncoincidentalUsage": 0,
"numberOfDaysInPeriod": 0,
"outageBlock": "string",
"powerFactor": 0,
"pressureMultiplier": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousMeterReadType": "string",
"previousReadTypeAsPrinted": "string",
"previousUsage": 0,
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"readingSchedule": "string",
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"usageActualName": "string",
"usageUnit": "string"
}
]
}
],
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicUtilityAccountDataResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [PublicUtilityAccountDataResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicUtilityAccountResource
{
"_embedded": [
{
"_links": {
"self": "string",
"subAccounts": "string",
"summaryAccount": "string",
"provider": "string",
"credentials": "string",
"statement": "string",
"events": "string",
"meters": "string",
"sites": "string",
"payments": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"customData": {
"property1": "string",
"property2": "string"
},
"enabled": true,
"lastModified": "2022-04-27T17:18:52Z",
"lastModifiedBy": "string",
"latestNewStatement": "2022-04-27T17:18:52Z",
"latestStatementDate": "2022-04-27T17:18:52Z",
"normalizedAccountNumber": "string",
"prepaid": true,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
],
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicUtilityAccountResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [PublicUtilityAccountResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicChargeResource
{
"_embedded": [
{
"additionalRateMultiplier": 0,
"averageUnitCost": 0,
"chargeActualName": "string",
"chargeAmount": 0,
"chargeAmountCurrency": "string",
"chargeGroupHeading": "string",
"chargeName": "string",
"chargeRate": 0,
"chargeRateAdder": 0,
"chargeRateBase": 0,
"chargeRateCurrency": "string",
"chargeType": "DEBIT",
"chargeUnitsUsed": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"lifecycleStage": "string",
"measurementType": "string",
"tariff": {
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
},
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"unitsPerRate": 0,
"usageUnit": "string"
}
],
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicChargeResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [PublicChargeResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicMeterDataResource
{
"_embedded": [
{
"_links": {
"meter": "string",
"statement": "string"
},
"amountDue": 0,
"amountDueAfterDueDate": 0,
"amountDueBeforeDueDate": 0,
"amountDueByDate": "2022-04-27T17:18:52Z",
"bulbQuantity": 0,
"bulbType": "string",
"charges": [
{
"additionalRateMultiplier": 0,
"averageUnitCost": 0,
"chargeActualName": "string",
"chargeAmount": 0,
"chargeAmountCurrency": "string",
"chargeGroupHeading": "string",
"chargeName": "string",
"chargeRate": 0,
"chargeRateAdder": 0,
"chargeRateBase": 0,
"chargeRateCurrency": "string",
"chargeType": "DEBIT",
"chargeUnitsUsed": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"lifecycleStage": "string",
"measurementType": "string",
"tariff": {
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
},
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"unitsPerRate": 0,
"usageUnit": "string"
}
],
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"customerNumber": "string",
"cycleNumber": "string",
"deregulationStatus": "string",
"disconnectDate": "2022-04-27T17:18:52Z",
"discountBeforeDueDate": 0,
"energyAnniversaryDate": "2022-04-27T17:18:52Z",
"energyCarryForward": 0,
"energyNewCarryForward": 0,
"facilityName": "string",
"facilityNumber": "string",
"finalBillNotice": "string",
"gridPointLineLoss": 0,
"lineLoss": 0,
"mapNumber": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterNumber": "string",
"meterReadDate": "2022-04-27T17:18:52Z",
"newCharges": 0,
"nextReadDate": "2022-04-27T17:18:52Z",
"normalizedMeterNumber": "string",
"normalizedPodNumber": "string",
"normalizedPreviousMeterNumber": "string",
"outstandingBalance": 0,
"pipeType": "string",
"podNumber": "string",
"powerFactor": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousBalance": 0,
"previousMeterConstantMultiplier": 0,
"previousMeterNumber": "string",
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"serviceDescription": "string",
"serviceType": "string",
"totalCharges": 0,
"usages": [
{
"calorificValue": 0,
"citedUsage": 0,
"contractUsage": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"hoursOfUse": 0,
"loadFactor": 0,
"loadType": "string",
"measuredUsage": 0,
"measurementType": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterReadDate": "2022-04-27T17:18:52Z",
"meterReadType": "string",
"meterReadingDelta": 0,
"meterReadingDeltaPrevious": 0,
"meterReadingDeltaUsageUnit": "string",
"meterReadingRaw": 0,
"meterReadingRawPrevious": 0,
"noncoincidentalUsage": 0,
"numberOfDaysInPeriod": 0,
"outageBlock": "string",
"powerFactor": 0,
"pressureMultiplier": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousMeterReadType": "string",
"previousReadTypeAsPrinted": "string",
"previousUsage": 0,
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"readingSchedule": "string",
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"usageActualName": "string",
"usageUnit": "string"
}
]
}
],
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicMeterDataResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [PublicMeterDataResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicMeterResource
{
"_embedded": [
{
"_links": {
"self": "string",
"accounts": "string",
"provider": "string",
"site": "string",
"statements": "string",
"credentials": "string",
"customData": "string"
},
"bulbType": "string",
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"customData": {
"property1": "string",
"property2": "string"
},
"currentTariffs": [
{
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
}
],
"lastModified": "2022-04-27T17:18:52Z",
"lastModifiedBy": "string",
"meterConstantMultiplier": 0,
"meterNumber": "string",
"meterStatus": "CURRENT",
"nextExpectedPostDate": "2022-04-27T17:18:52Z",
"normalizedMeterNumber": "string",
"normalizedPodNumber": "string",
"normalizedPreviousMeterNumber": "string",
"pipeType": "string",
"podNumber": "string",
"previousMeterConstantMultiplier": 0,
"previousMeterNumber": "string",
"serviceDescription": "string",
"serviceType": "string",
"site": {
"_links": {
"self": "string",
"accounts": "string",
"statements": "string",
"meters": "string",
"credentials": "string",
"events": "string"
},
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"siteCode": "string",
"siteName": "string",
"siteNumber": "string",
"region": "string",
"subRegion": "string",
"facilityType": "string",
"lastModified": "2022-04-27T17:18:52Z",
"lastModifiedBy": "string",
"serviceAddress": {
"addressType": "FULL",
"city": "string",
"country": "string",
"fullAddress": "string",
"postalCode": "string",
"recipient": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
}
}
}
],
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicMeterResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [PublicMeterResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicSiteResource
{
"_embedded": [
{
"_links": {
"self": "string",
"accounts": "string",
"statements": "string",
"meters": "string",
"credentials": "string",
"events": "string"
},
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"siteCode": "string",
"siteName": "string",
"siteNumber": "string",
"region": "string",
"subRegion": "string",
"facilityType": "string",
"lastModified": "2022-04-27T17:18:52Z",
"lastModifiedBy": "string",
"serviceAddress": {
"addressType": "FULL",
"city": "string",
"country": "string",
"fullAddress": "string",
"postalCode": "string",
"recipient": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
}
}
],
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicSiteResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [PublicSiteResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicSiteEventResource
{
"_embedded": [
{
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"eventType": "SITE_CREATED",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
],
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicSiteEventResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [PublicSiteEventResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicMeterEventResource
{
"_embedded": [
{
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"eventType": "METER_CREATION",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
],
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicMeterEventResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [PublicMeterEventResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicUtilityStatementResource
{
"_embedded": [
{
"_links": {
"accounts": "string",
"source": "string",
"meters": "string",
"charges": "string",
"self": "string"
},
"serviceAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"billingAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"paymentAddress": {
"recipient": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"rawAddress": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"amountDue": 0,
"balance": 0,
"lateFees": 0,
"dueDate": "2022-04-27",
"endDate": "2022-04-27",
"invoiceNumber": "string",
"createdDate": "2022-04-27",
"modifiedDate": "2022-04-27",
"startDate": "2022-04-27",
"statementDate": "2022-04-27",
"statementType": "BILL"
}
],
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicUtilityStatementResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [PublicStatementResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicTariffResource
{
"_embedded": [
{
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
}
],
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicTariffResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [PublicTariffResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PagedPublicUsageResource
{
"_embedded": [
{
"calorificValue": 0,
"citedUsage": 0,
"contractUsage": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"hoursOfUse": 0,
"loadFactor": 0,
"loadType": "string",
"measuredUsage": 0,
"measurementType": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterReadDate": "2022-04-27T17:18:52Z",
"meterReadType": "string",
"meterReadingDelta": 0,
"meterReadingDeltaPrevious": 0,
"meterReadingDeltaUsageUnit": "string",
"meterReadingRaw": 0,
"meterReadingRawPrevious": 0,
"noncoincidentalUsage": 0,
"numberOfDaysInPeriod": 0,
"outageBlock": "string",
"powerFactor": 0,
"pressureMultiplier": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousMeterReadType": "string",
"previousReadTypeAsPrinted": "string",
"previousUsage": 0,
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"readingSchedule": "string",
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"usageActualName": "string",
"usageUnit": "string"
}
],
"_links": {
"last": "string",
"next": "string",
"prev": "string",
"self": "string"
},
"page": {
"number": 0,
"size": 0,
"totalElements": 0,
"totalPages": 0
}
}
PagedPublicUsageResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_embedded | [PublicUsageResource] | false | none |
_links | object | false | none |
» last | string | false | none |
» next | string | false | none |
» prev | string | false | none |
» self | string | false | none |
page | PageMetadata | false | none |
PublicAccountDataResource
{
"_links": {
"account": "string",
"statement": "string"
},
"accountName1": "string",
"accountName2": "string",
"accountNumber": "string",
"additionalProviderAlias": "string",
"amountDue": 0,
"amountDueAfterDueDate": 0,
"amountDueBeforeDueDate": 0,
"amountDueByDate": "2022-04-27T17:18:52Z",
"billingAddress": {
"addressType": "FULL",
"city": "string",
"country": "string",
"fullAddress": "string",
"postalCode": "string",
"recipient": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"charges": [
{
"additionalRateMultiplier": 0,
"averageUnitCost": 0,
"chargeActualName": "string",
"chargeAmount": 0,
"chargeAmountCurrency": "string",
"chargeGroupHeading": "string",
"chargeName": "string",
"chargeRate": 0,
"chargeRateAdder": 0,
"chargeRateBase": 0,
"chargeRateCurrency": "string",
"chargeType": "DEBIT",
"chargeUnitsUsed": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"lifecycleStage": "string",
"measurementType": "string",
"tariff": {
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
},
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"unitsPerRate": 0,
"usageUnit": "string"
}
],
"created": "2022-04-27T17:18:52Z",
"customerNumber": "string",
"cycleNumber": "string",
"disconnectDate": "2022-04-27T17:18:52Z",
"discountBeforeDueDate": 0,
"facilityName": "string",
"facilityNumber": "string",
"finalBillNotice": "string",
"insallmentOutstanding": 0,
"installmentDue": 0,
"mapNumber": "string",
"meterData": [
{
"_links": {
"meter": "string",
"statement": "string"
},
"amountDue": 0,
"amountDueAfterDueDate": 0,
"amountDueBeforeDueDate": 0,
"amountDueByDate": "2022-04-27T17:18:52Z",
"bulbQuantity": 0,
"bulbType": "string",
"charges": [
{
"additionalRateMultiplier": 0,
"averageUnitCost": 0,
"chargeActualName": "string",
"chargeAmount": 0,
"chargeAmountCurrency": "string",
"chargeGroupHeading": "string",
"chargeName": "string",
"chargeRate": 0,
"chargeRateAdder": 0,
"chargeRateBase": 0,
"chargeRateCurrency": "string",
"chargeType": "DEBIT",
"chargeUnitsUsed": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"lifecycleStage": "string",
"measurementType": "string",
"tariff": {
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
},
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"unitsPerRate": 0,
"usageUnit": "string"
}
],
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"customerNumber": "string",
"cycleNumber": "string",
"deregulationStatus": "string",
"disconnectDate": "2022-04-27T17:18:52Z",
"discountBeforeDueDate": 0,
"energyAnniversaryDate": "2022-04-27T17:18:52Z",
"energyCarryForward": 0,
"energyNewCarryForward": 0,
"facilityName": "string",
"facilityNumber": "string",
"finalBillNotice": "string",
"gridPointLineLoss": 0,
"lineLoss": 0,
"mapNumber": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterNumber": "string",
"meterReadDate": "2022-04-27T17:18:52Z",
"newCharges": 0,
"nextReadDate": "2022-04-27T17:18:52Z",
"normalizedMeterNumber": "string",
"normalizedPodNumber": "string",
"normalizedPreviousMeterNumber": "string",
"outstandingBalance": 0,
"pipeType": "string",
"podNumber": "string",
"powerFactor": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousBalance": 0,
"previousMeterConstantMultiplier": 0,
"previousMeterNumber": "string",
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"serviceDescription": "string",
"serviceType": "string",
"totalCharges": 0,
"usages": [
{
"calorificValue": 0,
"citedUsage": 0,
"contractUsage": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"hoursOfUse": 0,
"loadFactor": 0,
"loadType": "string",
"measuredUsage": 0,
"measurementType": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterReadDate": "2022-04-27T17:18:52Z",
"meterReadType": "string",
"meterReadingDelta": 0,
"meterReadingDeltaPrevious": 0,
"meterReadingDeltaUsageUnit": "string",
"meterReadingRaw": 0,
"meterReadingRawPrevious": 0,
"noncoincidentalUsage": 0,
"numberOfDaysInPeriod": 0,
"outageBlock": "string",
"powerFactor": 0,
"pressureMultiplier": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousMeterReadType": "string",
"previousReadTypeAsPrinted": "string",
"previousUsage": 0,
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"readingSchedule": "string",
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"usageActualName": "string",
"usageUnit": "string"
}
]
}
],
"newCharges": 0,
"normalizedAccountNumber": "string",
"outstandingBalance": 0,
"paymentAddress": {
"addressType": "FULL",
"city": "string",
"country": "string",
"fullAddress": "string",
"postalCode": "string",
"recipient": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"previousBalance": 0,
"providerClassification": "PRIMARY",
"totalCharges": 0,
"usages": [
{
"calorificValue": 0,
"citedUsage": 0,
"contractUsage": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"hoursOfUse": 0,
"loadFactor": 0,
"loadType": "string",
"measuredUsage": 0,
"measurementType": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterReadDate": "2022-04-27T17:18:52Z",
"meterReadType": "string",
"meterReadingDelta": 0,
"meterReadingDeltaPrevious": 0,
"meterReadingDeltaUsageUnit": "string",
"meterReadingRaw": 0,
"meterReadingRawPrevious": 0,
"noncoincidentalUsage": 0,
"numberOfDaysInPeriod": 0,
"outageBlock": "string",
"powerFactor": 0,
"pressureMultiplier": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousMeterReadType": "string",
"previousReadTypeAsPrinted": "string",
"previousUsage": 0,
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"readingSchedule": "string",
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"usageActualName": "string",
"usageUnit": "string"
}
]
}
PublicAccountDataResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» account | string | false | none |
» statement | string | false | none |
accountName1 | string | false | none |
accountName2 | string | false | none |
accountNumber | string | false | none |
additionalProviderAlias | string | false | none |
amountDue | number | false | none |
amountDueAfterDueDate | number | false | none |
amountDueBeforeDueDate | number | false | none |
amountDueByDate | string(date-time) | false | none |
billingAddress | PublicUtilityAddressResource | false | none |
charges | [PublicChargeResource] | false | none |
created | string(date-time) | false | none |
customerNumber | string | false | none |
cycleNumber | string | false | none |
disconnectDate | string(date-time) | false | none |
discountBeforeDueDate | number | false | none |
facilityName | string | false | none |
facilityNumber | string | false | none |
finalBillNotice | string | false | none |
insallmentOutstanding | number | false | none |
installmentDue | number | false | none |
mapNumber | string | false | none |
meterData | [PublicMeterDataResource] | false | none |
newCharges | number | false | none |
normalizedAccountNumber | string | false | none |
outstandingBalance | number | false | none |
paymentAddress | PublicUtilityAddressResource | false | none |
previousBalance | number | false | none |
providerClassification | string | false | none |
totalCharges | number | false | none |
usages | [PublicUsageResource] | false | none |
Enumerated Values
Property | Value |
---|---|
providerClassification | PRIMARY |
providerClassification | SECONDARY |
PublicUtilityAddressResource
{
"addressType": "FULL",
"city": "string",
"country": "string",
"fullAddress": "string",
"postalCode": "string",
"recipient": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
}
PublicUtilityAddressResource
Properties
Name | Type | Required | Description |
---|---|---|---|
addressType | string | false | none |
city | string | false | none |
country | string | false | none |
fullAddress | string | false | none |
postalCode | string | false | none |
recipient | string | false | none |
state | string | false | none |
streetLine1 | string | false | none |
streetLine2 | string | false | none |
Enumerated Values
Property | Value |
---|---|
addressType | FULL |
addressType | PARTIAL |
PublicChargeResource
{
"additionalRateMultiplier": 0,
"averageUnitCost": 0,
"chargeActualName": "string",
"chargeAmount": 0,
"chargeAmountCurrency": "string",
"chargeGroupHeading": "string",
"chargeName": "string",
"chargeRate": 0,
"chargeRateAdder": 0,
"chargeRateBase": 0,
"chargeRateCurrency": "string",
"chargeType": "DEBIT",
"chargeUnitsUsed": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"lifecycleStage": "string",
"measurementType": "string",
"tariff": {
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
},
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"unitsPerRate": 0,
"usageUnit": "string"
}
PublicChargeResource
Properties
Name | Type | Required | Description |
---|---|---|---|
additionalRateMultiplier | number | false | none |
averageUnitCost | number | false | none |
chargeActualName | string | false | none |
chargeAmount | number | false | none |
chargeAmountCurrency | string | false | none |
chargeGroupHeading | string | false | none |
chargeName | string | false | none |
chargeRate | number | false | none |
chargeRateAdder | number | false | none |
chargeRateBase | number | false | none |
chargeRateCurrency | string | false | none |
chargeType | string | false | none |
chargeUnitsUsed | number | false | none |
contributionStatus | string | false | none |
created | string(date-time) | false | none |
lifecycleStage | string | false | none |
measurementType | string | false | none |
tariff | PublicTariffResource | false | none |
tariffRateComponents | [PublicTariffRateComponentResource] | false | none |
unitsPerRate | number | false | none |
usageUnit | string | false | none |
Enumerated Values
Property | Value |
---|---|
chargeType | DEBIT |
chargeType | CREDIT |
contributionStatus | CONTRIBUTING |
contributionStatus | NON_CONTRIBUTING |
contributionStatus | REDUNDANT |
contributionStatus | REDUNDANT_OUTSTANDING_BALANCE |
PublicCustomDataResource
{
"property1": "string",
"property2": "string"
}
PublicCustomDataResource
Properties
Name | Type | Required | Description |
---|---|---|---|
additionalProperties | string | false | none |
PublicDownloadSiteUsagesRequest
{
"siteIds": "string",
"startDate": null,
"endDate": null
}
PublicDownloadSiteUsagesRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
siteIds | string | true | A comma-separated list of site IDs |
startDate | date-time | true | Start date for site usage statements |
endDate | date-time | true | End date for site usage statements |
PublicDownloadMeterUsagesRequest
{
"meterIds": "string",
"startDate": null,
"endDate": null
}
PublicDownloadMeterUsagesRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
meterIds | string | true | A comma-separated list of site IDs |
startDate | date-time | true | Start date for meter usage statements |
endDate | date-time | true | End date for meter usage statements |
PublicUtilityAccountResource
{
"_links": {
"self": "string",
"subAccounts": "string",
"summaryAccount": "string",
"provider": "string",
"credentials": "string",
"statement": "string",
"events": "string",
"meters": "string",
"sites": "string",
"payments": "string"
},
"accountNumber": "string",
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"customData": {
"property1": "string",
"property2": "string"
},
"enabled": true,
"lastModified": "2022-04-27T17:18:52Z",
"lastModifiedBy": "string",
"latestNewStatement": "2022-04-27T17:18:52Z",
"latestStatementDate": "2022-04-27T17:18:52Z",
"normalizedAccountNumber": "string",
"prepaid": true,
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_CLOSED",
"type": "NORMAL"
}
PublicUtilityAccountResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
» subAccounts | string | false | none |
» summaryAccount | string | false | none |
» provider | string | false | none |
» credentials | string | false | none |
» statement | string | false | none |
» events | string | false | none |
» meters | string | false | none |
» sites | string | false | none |
» payments | string | false | none |
accountNumber | string | false | none |
created | string(date-time) | false | none |
createdBy | string | false | none |
customData | PublicCustomDataResource | false | none |
enabled | boolean | false | none |
lastModified | string(date-time) | false | none |
lastModifiedBy | string | false | none |
latestNewStatement | string(date-time) | false | none |
latestStatementDate | string(date-time) | false | none |
normalizedAccountNumber | string | false | none |
prepaid | boolean | false | none |
providerName | string | false | none |
status | string | false | none |
statusDetail | string | false | none |
type | string | false | none |
Enumerated Values
Property | Value |
---|---|
status | OK |
status | PENDING |
status | ACCESS_ISSUE |
status | OLD |
statusDetail | ACCOUNT_CLOSED |
statusDetail | ACCOUNT_NOT_FOUND |
statusDetail | ACCOUNT_NUMBER_CHANGE |
statusDetail | ACCOUNT_SETUP_REQUIRED |
statusDetail | DORMANT |
statusDetail | E_BILL_REQUIRED |
statusDetail | EXTRACTION_FAILURE |
statusDetail | INVALID_SOURCE |
statusDetail | NO_ACTION_REQUIRED |
statusDetail | STATEMENT_UNAVAILABLE |
statusDetail | UNDER_REVIEW |
statusDetail | INSUFFICIENT_DATA |
type | NORMAL |
type | SUMMARY |
type | SUB_ACCOUNT |
PublicMeterDataResource
{
"_links": {
"meter": "string",
"statement": "string"
},
"amountDue": 0,
"amountDueAfterDueDate": 0,
"amountDueBeforeDueDate": 0,
"amountDueByDate": "2022-04-27T17:18:52Z",
"bulbQuantity": 0,
"bulbType": "string",
"charges": [
{
"additionalRateMultiplier": 0,
"averageUnitCost": 0,
"chargeActualName": "string",
"chargeAmount": 0,
"chargeAmountCurrency": "string",
"chargeGroupHeading": "string",
"chargeName": "string",
"chargeRate": 0,
"chargeRateAdder": 0,
"chargeRateBase": 0,
"chargeRateCurrency": "string",
"chargeType": "DEBIT",
"chargeUnitsUsed": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"lifecycleStage": "string",
"measurementType": "string",
"tariff": {
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
},
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"unitsPerRate": 0,
"usageUnit": "string"
}
],
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"customerNumber": "string",
"cycleNumber": "string",
"deregulationStatus": "string",
"disconnectDate": "2022-04-27T17:18:52Z",
"discountBeforeDueDate": 0,
"energyAnniversaryDate": "2022-04-27T17:18:52Z",
"energyCarryForward": 0,
"energyNewCarryForward": 0,
"facilityName": "string",
"facilityNumber": "string",
"finalBillNotice": "string",
"gridPointLineLoss": 0,
"lineLoss": 0,
"mapNumber": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterNumber": "string",
"meterReadDate": "2022-04-27T17:18:52Z",
"newCharges": 0,
"nextReadDate": "2022-04-27T17:18:52Z",
"normalizedMeterNumber": "string",
"normalizedPodNumber": "string",
"normalizedPreviousMeterNumber": "string",
"outstandingBalance": 0,
"pipeType": "string",
"podNumber": "string",
"powerFactor": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousBalance": 0,
"previousMeterConstantMultiplier": 0,
"previousMeterNumber": "string",
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"serviceDescription": "string",
"serviceType": "string",
"totalCharges": 0,
"usages": [
{
"calorificValue": 0,
"citedUsage": 0,
"contractUsage": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"hoursOfUse": 0,
"loadFactor": 0,
"loadType": "string",
"measuredUsage": 0,
"measurementType": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterReadDate": "2022-04-27T17:18:52Z",
"meterReadType": "string",
"meterReadingDelta": 0,
"meterReadingDeltaPrevious": 0,
"meterReadingDeltaUsageUnit": "string",
"meterReadingRaw": 0,
"meterReadingRawPrevious": 0,
"noncoincidentalUsage": 0,
"numberOfDaysInPeriod": 0,
"outageBlock": "string",
"powerFactor": 0,
"pressureMultiplier": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousMeterReadType": "string",
"previousReadTypeAsPrinted": "string",
"previousUsage": 0,
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"readingSchedule": "string",
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"usageActualName": "string",
"usageUnit": "string"
}
]
}
PublicMeterDataResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» meter | string | false | none |
» statement | string | false | none |
amountDue | number | false | none |
amountDueAfterDueDate | number | false | none |
amountDueBeforeDueDate | number | false | none |
amountDueByDate | string(date-time) | false | none |
bulbQuantity | number | false | none |
bulbType | string | false | none |
charges | [PublicChargeResource] | false | none |
contributionStatus | string | false | none |
created | string(date-time) | false | none |
customerNumber | string | false | none |
cycleNumber | string | false | none |
deregulationStatus | string | false | none |
disconnectDate | string(date-time) | false | none |
discountBeforeDueDate | number | false | none |
energyAnniversaryDate | string(date-time) | false | none |
energyCarryForward | number | false | none |
energyNewCarryForward | number | false | none |
facilityName | string | false | none |
facilityNumber | string | false | none |
finalBillNotice | string | false | none |
gridPointLineLoss | number | false | none |
lineLoss | number | false | none |
mapNumber | string | false | none |
meterConstantMultiplier | number | false | none |
meterConversionMultiplier | number | false | none |
meterNumber | string | false | none |
meterReadDate | string(date-time) | false | none |
newCharges | number | false | none |
nextReadDate | string(date-time) | false | none |
normalizedMeterNumber | string | false | none |
normalizedPodNumber | string | false | none |
normalizedPreviousMeterNumber | string | false | none |
outstandingBalance | number | false | none |
pipeType | string | false | none |
podNumber | string | false | none |
powerFactor | number | false | none |
prevReadDate | string(date-time) | false | none |
previousBalance | number | false | none |
previousMeterConstantMultiplier | number | false | none |
previousMeterNumber | string | false | none |
rateOrTariffActualName | string | false | none |
readTypeAsPrinted | string | false | none |
serviceDescription | string | false | none |
serviceType | string | false | none |
totalCharges | number | false | none |
usages | [PublicUsageResource] | false | none |
Enumerated Values
Property | Value |
---|---|
contributionStatus | CONTRIBUTING |
contributionStatus | NON_CONTRIBUTING |
contributionStatus | REDUNDANT |
contributionStatus | REDUNDANT_OUTSTANDING_BALANCE |
PublicMeterCustomDataRequest
{
"property1": "string",
"property2": "string"
}
PublicMeterCustomDataRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
additionalProperties | string | false | none |
PublicMeterRequest
{
"site": "string"
}
PublicMeterRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
site | string | true | none |
PublicMeterResource
{
"_links": {
"self": "string",
"accounts": "string",
"provider": "string",
"site": "string",
"statements": "string",
"credentials": "string",
"customData": "string"
},
"bulbType": "string",
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"customData": {
"property1": "string",
"property2": "string"
},
"currentTariffs": [
{
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
}
],
"lastModified": "2022-04-27T17:18:52Z",
"lastModifiedBy": "string",
"meterConstantMultiplier": 0,
"meterNumber": "string",
"meterStatus": "CURRENT",
"nextExpectedPostDate": "2022-04-27T17:18:52Z",
"normalizedMeterNumber": "string",
"normalizedPodNumber": "string",
"normalizedPreviousMeterNumber": "string",
"pipeType": "string",
"podNumber": "string",
"previousMeterConstantMultiplier": 0,
"previousMeterNumber": "string",
"serviceDescription": "string",
"serviceType": "string",
"site": {
"_links": {
"self": "string",
"accounts": "string",
"statements": "string",
"meters": "string",
"credentials": "string",
"events": "string"
},
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"siteCode": "string",
"siteName": "string",
"siteNumber": "string",
"region": "string",
"subRegion": "string",
"facilityType": "string",
"lastModified": "2022-04-27T17:18:52Z",
"lastModifiedBy": "string",
"serviceAddress": {
"addressType": "FULL",
"city": "string",
"country": "string",
"fullAddress": "string",
"postalCode": "string",
"recipient": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
}
}
}
PublicMeterResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
» accounts | string | false | none |
» provider | string | false | none |
» site | string | false | none |
» statements | string | false | none |
» credentials | string | false | none |
» customData | string | false | none |
bulbType | string | false | none |
created | string(date-time) | false | none |
createdBy | string | false | none |
customData | PublicCustomDataResource | false | none |
currentTariffs | [PublicTariffResource] | false | none |
lastModified | string(date-time) | false | none |
lastModifiedBy | string | false | none |
meterConstantMultiplier | number | false | none |
meterNumber | string | false | none |
meterStatus | string | false | none |
nextExpectedPostDate | string(date-time) | false | none |
normalizedMeterNumber | string | false | none |
normalizedPodNumber | string | false | none |
normalizedPreviousMeterNumber | string | false | none |
pipeType | string | false | none |
podNumber | string | false | none |
previousMeterConstantMultiplier | number | false | none |
previousMeterNumber | string | false | none |
serviceDescription | string | false | none |
serviceType | string | false | none |
site | PublicSiteResource | false | none |
Enumerated Values
Property | Value |
---|---|
meterStatus | CURRENT |
meterStatus | NOT_CURRENT |
meterStatus | INACTIVE |
meterStatus | FIX |
PublicSiteRequest
{
"siteCode": "string",
"siteName": "string",
"siteNumber": "string",
"region": "string",
"subRegion": "string",
"facilityType": "string",
"city": "string",
"country": "string",
"postalCode": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
}
PublicSiteRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
siteCode | string | false | none |
siteName | string | false | none |
siteNumber | string | false | none |
region | string | false | none |
subRegion | string | false | none |
facilityType | string | false | none |
city | string | false | none |
country | string | false | none |
postalCode | string | false | none |
state | string | false | none |
streetLine1 | string | false | none |
streetLine2 | string | false | none |
PublicSiteResource
{
"_links": {
"self": "string",
"accounts": "string",
"statements": "string",
"meters": "string",
"credentials": "string",
"events": "string"
},
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"siteCode": "string",
"siteName": "string",
"siteNumber": "string",
"region": "string",
"subRegion": "string",
"facilityType": "string",
"lastModified": "2022-04-27T17:18:52Z",
"lastModifiedBy": "string",
"serviceAddress": {
"addressType": "FULL",
"city": "string",
"country": "string",
"fullAddress": "string",
"postalCode": "string",
"recipient": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
}
}
PublicSiteResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
» accounts | string | false | none |
» statements | string | false | none |
» meters | string | false | none |
» credentials | string | false | none |
» events | string | false | none |
created | string(date-time) | false | none |
createdBy | string | false | none |
siteCode | string | false | none |
siteName | string | false | none |
siteNumber | string | false | none |
region | string | false | none |
subRegion | string | false | none |
facilityType | string | false | none |
lastModified | string(date-time) | false | none |
lastModifiedBy | string | false | none |
serviceAddress | PublicUtilityAddressResource | false | none |
PublicSiteEventResource
{
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"eventType": "SITE_CREATED",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
PublicSiteEventResource
Properties
Name | Type | Required | Description |
---|---|---|---|
created | string(date-time) | false | The date-time this event occurred. |
createdBy | string | false | The user that initiated the event |
eventType | string | false | The type of event that occurred |
fieldName | string | false | For custom data changes, represents which custom data field was modified |
newValue | string | false | For custom data changes, represents the newly assigned value of the field |
oldValue | string | false | For custom data changes, represents the previous value of the field |
Enumerated Values
Property | Value |
---|---|
eventType | SITE_CREATED |
eventType | SITE_CUSTOM_DATA_CHANGE |
PublicMeterEventResource
{
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"eventType": "METER_CREATION",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
PublicMeterEventResource
Properties
Name | Type | Required | Description |
---|---|---|---|
created | string(date-time) | false | The date-time this event occurred. |
createdBy | string | false | The user that initiated the event |
eventType | string | false | The type of event that occurred |
fieldName | string | false | For custom data changes, represents which custom data field was modified |
newValue | string | false | For custom data changes, represents the newly assigned value of the field |
oldValue | string | false | For custom data changes, represents the previous value of the field |
Enumerated Values
Property | Value |
---|---|
eventType | METER_CREATION |
eventType | METER_INACTIVE |
eventType | METER_ACTIVE |
eventType | METER_SITE_CHANGE |
eventType | METER_ACCOUNT_CHANGE |
eventType | METER_TARIFF_CHANGE |
eventType | METER_CUSTOM_DATA_CHANGE |
PublicUtilityOrganizationCustomDataRequest
{
"accountCustomData1Name": "string",
"accountCustomData2Name": "string",
"accountCustomData3Name": "string",
"accountCustomData4Name": "string",
"accountCustomData5Name": "string",
"accountCustomData6Name": "string",
"accountCustomData7Name": "string",
"accountCustomData8Name": "string",
"accountCustomData9Name": "string",
"accountCustomData10Name": "string",
"meterCustomData1Name": "string",
"meterCustomData2Name": "string",
"meterCustomData3Name": "string",
"meterCustomData4Name": "string",
"meterCustomData5Name": "string",
"meterCustomData6Name": "string",
"meterCustomData7Name": "string",
"meterCustomData8Name": "string",
"meterCustomData9Name": "string",
"meterCustomData10Name": "string"
}
PublicUtilityOrganizationCustomDataRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
accountCustomData1Name | string | false | none |
accountCustomData2Name | string | false | none |
accountCustomData3Name | string | false | none |
accountCustomData4Name | string | false | none |
accountCustomData5Name | string | false | none |
accountCustomData6Name | string | false | none |
accountCustomData7Name | string | false | none |
accountCustomData8Name | string | false | none |
accountCustomData9Name | string | false | none |
accountCustomData10Name | string | false | none |
meterCustomData1Name | string | false | none |
meterCustomData2Name | string | false | none |
meterCustomData3Name | string | false | none |
meterCustomData4Name | string | false | none |
meterCustomData5Name | string | false | none |
meterCustomData6Name | string | false | none |
meterCustomData7Name | string | false | none |
meterCustomData8Name | string | false | none |
meterCustomData9Name | string | false | none |
meterCustomData10Name | string | false | none |
PublicUtilityOrganizationCustomDataResource
{
"accountCustomData1Name": "string",
"accountCustomData2Name": "string",
"accountCustomData3Name": "string",
"accountCustomData4Name": "string",
"accountCustomData5Name": "string",
"accountCustomData6Name": "string",
"accountCustomData7Name": "string",
"accountCustomData8Name": "string",
"accountCustomData9Name": "string",
"accountCustomData10Name": "string",
"meterCustomData1Name": "string",
"meterCustomData2Name": "string",
"meterCustomData3Name": "string",
"meterCustomData4Name": "string",
"meterCustomData5Name": "string",
"meterCustomData6Name": "string",
"meterCustomData7Name": "string",
"meterCustomData8Name": "string",
"meterCustomData9Name": "string",
"meterCustomData10Name": "string",
"name": "string"
}
PublicUtilityOrganizationCustomDataResource
Properties
Name | Type | Required | Description |
---|---|---|---|
accountCustomData1Name | string | false | none |
accountCustomData2Name | string | false | none |
accountCustomData3Name | string | false | none |
accountCustomData4Name | string | false | none |
accountCustomData5Name | string | false | none |
accountCustomData6Name | string | false | none |
accountCustomData7Name | string | false | none |
accountCustomData8Name | string | false | none |
accountCustomData9Name | string | false | none |
accountCustomData10Name | string | false | none |
meterCustomData1Name | string | false | none |
meterCustomData2Name | string | false | none |
meterCustomData3Name | string | false | none |
meterCustomData4Name | string | false | none |
meterCustomData5Name | string | false | none |
meterCustomData6Name | string | false | none |
meterCustomData7Name | string | false | none |
meterCustomData8Name | string | false | none |
meterCustomData9Name | string | false | none |
meterCustomData10Name | string | false | none |
name | string | false | none |
PublicUtilityStatementResource
{
"_links": {
"self": "string",
"accounts": "string",
"source": "string"
},
"accountData": [
{
"_links": {
"account": "string",
"statement": "string"
},
"accountName1": "string",
"accountName2": "string",
"accountNumber": "string",
"additionalProviderAlias": "string",
"amountDue": 0,
"amountDueAfterDueDate": 0,
"amountDueBeforeDueDate": 0,
"amountDueByDate": "2022-04-27T17:18:52Z",
"billingAddress": {
"addressType": "FULL",
"city": "string",
"country": "string",
"fullAddress": "string",
"postalCode": "string",
"recipient": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"charges": [
{
"additionalRateMultiplier": 0,
"averageUnitCost": 0,
"chargeActualName": "string",
"chargeAmount": 0,
"chargeAmountCurrency": "string",
"chargeGroupHeading": "string",
"chargeName": "string",
"chargeRate": 0,
"chargeRateAdder": 0,
"chargeRateBase": 0,
"chargeRateCurrency": "string",
"chargeType": "DEBIT",
"chargeUnitsUsed": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"lifecycleStage": "string",
"measurementType": "string",
"tariff": {
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
},
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"unitsPerRate": 0,
"usageUnit": "string"
}
],
"created": "2022-04-27T17:18:52Z",
"customerNumber": "string",
"cycleNumber": "string",
"disconnectDate": "2022-04-27T17:18:52Z",
"discountBeforeDueDate": 0,
"facilityName": "string",
"facilityNumber": "string",
"finalBillNotice": "string",
"insallmentOutstanding": 0,
"installmentDue": 0,
"mapNumber": "string",
"meterData": [
{
"_links": {
"meter": "string",
"statement": "string"
},
"amountDue": 0,
"amountDueAfterDueDate": 0,
"amountDueBeforeDueDate": 0,
"amountDueByDate": "2022-04-27T17:18:52Z",
"bulbQuantity": 0,
"bulbType": "string",
"charges": [
{
"additionalRateMultiplier": 0,
"averageUnitCost": 0,
"chargeActualName": "string",
"chargeAmount": 0,
"chargeAmountCurrency": "string",
"chargeGroupHeading": "string",
"chargeName": "string",
"chargeRate": 0,
"chargeRateAdder": 0,
"chargeRateBase": 0,
"chargeRateCurrency": "string",
"chargeType": "DEBIT",
"chargeUnitsUsed": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"lifecycleStage": "string",
"measurementType": "string",
"tariff": {
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
},
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"unitsPerRate": 0,
"usageUnit": "string"
}
],
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"customerNumber": "string",
"cycleNumber": "string",
"deregulationStatus": "string",
"disconnectDate": "2022-04-27T17:18:52Z",
"discountBeforeDueDate": 0,
"energyAnniversaryDate": "2022-04-27T17:18:52Z",
"energyCarryForward": 0,
"energyNewCarryForward": 0,
"facilityName": "string",
"facilityNumber": "string",
"finalBillNotice": "string",
"gridPointLineLoss": 0,
"lineLoss": 0,
"mapNumber": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterNumber": "string",
"meterReadDate": "2022-04-27T17:18:52Z",
"newCharges": 0,
"nextReadDate": "2022-04-27T17:18:52Z",
"normalizedMeterNumber": "string",
"normalizedPodNumber": "string",
"normalizedPreviousMeterNumber": "string",
"outstandingBalance": 0,
"pipeType": "string",
"podNumber": "string",
"powerFactor": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousBalance": 0,
"previousMeterConstantMultiplier": 0,
"previousMeterNumber": "string",
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"serviceDescription": "string",
"serviceType": "string",
"totalCharges": 0,
"usages": [
{
"calorificValue": 0,
"citedUsage": 0,
"contractUsage": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"hoursOfUse": 0,
"loadFactor": 0,
"loadType": "string",
"measuredUsage": 0,
"measurementType": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterReadDate": "2022-04-27T17:18:52Z",
"meterReadType": "string",
"meterReadingDelta": 0,
"meterReadingDeltaPrevious": 0,
"meterReadingDeltaUsageUnit": "string",
"meterReadingRaw": 0,
"meterReadingRawPrevious": 0,
"noncoincidentalUsage": 0,
"numberOfDaysInPeriod": 0,
"outageBlock": "string",
"powerFactor": 0,
"pressureMultiplier": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousMeterReadType": "string",
"previousReadTypeAsPrinted": "string",
"previousUsage": 0,
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"readingSchedule": "string",
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"usageActualName": "string",
"usageUnit": "string"
}
]
}
],
"newCharges": 0,
"normalizedAccountNumber": "string",
"outstandingBalance": 0,
"paymentAddress": {
"addressType": "FULL",
"city": "string",
"country": "string",
"fullAddress": "string",
"postalCode": "string",
"recipient": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"previousBalance": 0,
"providerClassification": "PRIMARY",
"totalCharges": 0,
"usages": [
{
"calorificValue": 0,
"citedUsage": 0,
"contractUsage": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"hoursOfUse": 0,
"loadFactor": 0,
"loadType": "string",
"measuredUsage": 0,
"measurementType": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterReadDate": "2022-04-27T17:18:52Z",
"meterReadType": "string",
"meterReadingDelta": 0,
"meterReadingDeltaPrevious": 0,
"meterReadingDeltaUsageUnit": "string",
"meterReadingRaw": 0,
"meterReadingRawPrevious": 0,
"noncoincidentalUsage": 0,
"numberOfDaysInPeriod": 0,
"outageBlock": "string",
"powerFactor": 0,
"pressureMultiplier": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousMeterReadType": "string",
"previousReadTypeAsPrinted": "string",
"previousUsage": 0,
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"readingSchedule": "string",
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"usageActualName": "string",
"usageUnit": "string"
}
]
}
],
"amountDue": 0,
"amountDueAfterDueDate": 0,
"amountDueBeforeDueDate": 0,
"amountDueByDate": "2022-04-27T17:18:52Z",
"charges": [
{
"additionalRateMultiplier": 0,
"averageUnitCost": 0,
"chargeActualName": "string",
"chargeAmount": 0,
"chargeAmountCurrency": "string",
"chargeGroupHeading": "string",
"chargeName": "string",
"chargeRate": 0,
"chargeRateAdder": 0,
"chargeRateBase": 0,
"chargeRateCurrency": "string",
"chargeType": "DEBIT",
"chargeUnitsUsed": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"lifecycleStage": "string",
"measurementType": "string",
"tariff": {
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
},
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"unitsPerRate": 0,
"usageUnit": "string"
}
],
"created": "2022-04-27T17:18:52Z",
"customerNumber": "string",
"cycleNumber": "string",
"disconnectDate": "2022-04-27T17:18:52Z",
"discountBeforeDueDate": 0,
"discoveredDate": "2022-04-27T17:18:52Z",
"facilityName": "string",
"facilityNumber": "string",
"finalBillNotice": "string",
"invoiceNumber": "string",
"lastModified": "2022-04-27T17:18:52Z",
"mapNumber": "string",
"newCharges": 0,
"outstandingBalance": 0,
"periodEnd": "2022-04-27T17:18:52Z",
"periodStart": "2022-04-27T17:18:52Z",
"previousBalance": 0,
"previousStatementDate": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"sourceType": "TAG_NAME",
"statementDate": "2022-04-27T17:18:52Z",
"statementType": "BILL",
"totalCharges": 0,
"usages": [
{
"calorificValue": 0,
"citedUsage": 0,
"contractUsage": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"hoursOfUse": 0,
"loadFactor": 0,
"loadType": "string",
"measuredUsage": 0,
"measurementType": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterReadDate": "2022-04-27T17:18:52Z",
"meterReadType": "string",
"meterReadingDelta": 0,
"meterReadingDeltaPrevious": 0,
"meterReadingDeltaUsageUnit": "string",
"meterReadingRaw": 0,
"meterReadingRawPrevious": 0,
"noncoincidentalUsage": 0,
"numberOfDaysInPeriod": 0,
"outageBlock": "string",
"powerFactor": 0,
"pressureMultiplier": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousMeterReadType": "string",
"previousReadTypeAsPrinted": "string",
"previousUsage": 0,
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"readingSchedule": "string",
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"usageActualName": "string",
"usageUnit": "string"
}
]
}
PublicUtilityStatementResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
» accounts | string | false | none |
» source | string | false | none |
accountData | [PublicAccountDataResource] | false | none |
amountDue | number | false | none |
amountDueAfterDueDate | number | false | none |
amountDueBeforeDueDate | number | false | none |
amountDueByDate | string(date-time) | false | none |
charges | [PublicChargeResource] | false | none |
created | string(date-time) | false | none |
customerNumber | string | false | none |
cycleNumber | string | false | none |
disconnectDate | string(date-time) | false | none |
discountBeforeDueDate | number | false | none |
discoveredDate | string(date-time) | false | none |
facilityName | string | false | none |
facilityNumber | string | false | none |
finalBillNotice | string | false | none |
invoiceNumber | string | false | none |
lastModified | string(date-time) | false | none |
mapNumber | string | false | none |
newCharges | number | false | none |
outstandingBalance | number | false | none |
periodEnd | string(date-time) | false | none |
periodStart | string(date-time) | false | none |
previousBalance | number | false | none |
previousStatementDate | string(date-time) | false | none |
providerAlias | string | false | none |
providerName | string | false | none |
sourceType | string | false | none |
statementDate | string(date-time) | false | none |
statementType | string | false | none |
totalCharges | number | false | none |
usages | [PublicUsageResource] | false | none |
Enumerated Values
Property | Value |
---|---|
sourceType | TAG_NAME |
sourceType | UNCLASSIFIED |
sourceType | HTML |
sourceType | CSS |
sourceType | PNG |
sourceType | JPG |
sourceType | GIF |
sourceType | TIFF |
sourceType | SVG |
sourceType | WEBP |
sourceType | ICO |
sourceType | |
sourceType | JSON |
sourceType | CSV |
sourceType | XML |
sourceType | XLS |
sourceType | XLSX |
sourceType | TXT |
sourceType | ZIP |
sourceType | MSOTF |
sourceType | OTF |
sourceType | SFNT |
sourceType | TTF |
sourceType | WOFF |
sourceType | WOFF2 |
sourceType | FONT_WOFF |
sourceType | FONT_WOFF2 |
sourceType | FONT_XWOFF |
sourceType | FONT_TTF |
sourceType | FONT_SFNT |
sourceType | URJA_NODE_LIST |
sourceType | URJA_NAV_HISTORY |
sourceType | INSERT_BILL |
sourceType | EDI |
sourceType | X12 |
sourceType | WOOT |
statementType | BILL |
statementType | NOTICE |
statementType | ADJUSTMENT |
statementType | PREPAID |
PublicTariffRateComponentResource
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
PublicTariffRateComponentResource
Properties
Name | Type | Required | Description |
---|---|---|---|
tariffName | string | false | none |
tariffRateComponentType | string | false | none |
PublicUtilityAccountDataResource
{
"_links": {
"account": "string",
"statement": "string"
},
"accountName1": "string",
"accountName2": "string",
"accountNumber": "string",
"additionalProviderAlias": "string",
"amountDue": 0,
"amountDueAfterDueDate": 0,
"amountDueBeforeDueDate": 0,
"amountDueByDate": "2022-04-27T17:18:52Z",
"billingAddress": {
"addressType": "FULL",
"city": "string",
"country": "string",
"fullAddress": "string",
"postalCode": "string",
"recipient": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"charges": [
{
"additionalRateMultiplier": 0,
"averageUnitCost": 0,
"chargeActualName": "string",
"chargeAmount": 0,
"chargeAmountCurrency": "string",
"chargeGroupHeading": "string",
"chargeName": "string",
"chargeRate": 0,
"chargeRateAdder": 0,
"chargeRateBase": 0,
"chargeRateCurrency": "string",
"chargeType": "DEBIT",
"chargeUnitsUsed": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"lifecycleStage": "string",
"measurementType": "string",
"tariff": {
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
},
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"unitsPerRate": 0,
"usageUnit": "string"
}
],
"created": "2022-04-27T17:18:52Z",
"customerNumber": "string",
"cycleNumber": "string",
"disconnectDate": "2022-04-27T17:18:52Z",
"discountBeforeDueDate": 0,
"facilityName": "string",
"facilityNumber": "string",
"finalBillNotice": "string",
"insallmentOutstanding": 0,
"installmentDue": 0,
"mapNumber": "string",
"meterData": [
{
"_links": {
"meter": "string",
"statement": "string"
},
"amountDue": 0,
"amountDueAfterDueDate": 0,
"amountDueBeforeDueDate": 0,
"amountDueByDate": "2022-04-27T17:18:52Z",
"bulbQuantity": 0,
"bulbType": "string",
"charges": [
{
"additionalRateMultiplier": 0,
"averageUnitCost": 0,
"chargeActualName": "string",
"chargeAmount": 0,
"chargeAmountCurrency": "string",
"chargeGroupHeading": "string",
"chargeName": "string",
"chargeRate": 0,
"chargeRateAdder": 0,
"chargeRateBase": 0,
"chargeRateCurrency": "string",
"chargeType": "DEBIT",
"chargeUnitsUsed": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"lifecycleStage": "string",
"measurementType": "string",
"tariff": {
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
},
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"unitsPerRate": 0,
"usageUnit": "string"
}
],
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"customerNumber": "string",
"cycleNumber": "string",
"deregulationStatus": "string",
"disconnectDate": "2022-04-27T17:18:52Z",
"discountBeforeDueDate": 0,
"energyAnniversaryDate": "2022-04-27T17:18:52Z",
"energyCarryForward": 0,
"energyNewCarryForward": 0,
"facilityName": "string",
"facilityNumber": "string",
"finalBillNotice": "string",
"gridPointLineLoss": 0,
"lineLoss": 0,
"mapNumber": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterNumber": "string",
"meterReadDate": "2022-04-27T17:18:52Z",
"newCharges": 0,
"nextReadDate": "2022-04-27T17:18:52Z",
"normalizedMeterNumber": "string",
"normalizedPodNumber": "string",
"normalizedPreviousMeterNumber": "string",
"outstandingBalance": 0,
"pipeType": "string",
"podNumber": "string",
"powerFactor": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousBalance": 0,
"previousMeterConstantMultiplier": 0,
"previousMeterNumber": "string",
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"serviceDescription": "string",
"serviceType": "string",
"totalCharges": 0,
"usages": [
{
"calorificValue": 0,
"citedUsage": 0,
"contractUsage": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"hoursOfUse": 0,
"loadFactor": 0,
"loadType": "string",
"measuredUsage": 0,
"measurementType": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterReadDate": "2022-04-27T17:18:52Z",
"meterReadType": "string",
"meterReadingDelta": 0,
"meterReadingDeltaPrevious": 0,
"meterReadingDeltaUsageUnit": "string",
"meterReadingRaw": 0,
"meterReadingRawPrevious": 0,
"noncoincidentalUsage": 0,
"numberOfDaysInPeriod": 0,
"outageBlock": "string",
"powerFactor": 0,
"pressureMultiplier": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousMeterReadType": "string",
"previousReadTypeAsPrinted": "string",
"previousUsage": 0,
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"readingSchedule": "string",
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"usageActualName": "string",
"usageUnit": "string"
}
]
}
],
"newCharges": 0,
"normalizedAccountNumber": "string",
"outstandingBalance": 0,
"paymentAddress": {
"addressType": "FULL",
"city": "string",
"country": "string",
"fullAddress": "string",
"postalCode": "string",
"recipient": "string",
"state": "string",
"streetLine1": "string",
"streetLine2": "string"
},
"previousBalance": 0,
"providerClassification": "PRIMARY",
"totalCharges": 0,
"usages": [
{
"calorificValue": 0,
"citedUsage": 0,
"contractUsage": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"hoursOfUse": 0,
"loadFactor": 0,
"loadType": "string",
"measuredUsage": 0,
"measurementType": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterReadDate": "2022-04-27T17:18:52Z",
"meterReadType": "string",
"meterReadingDelta": 0,
"meterReadingDeltaPrevious": 0,
"meterReadingDeltaUsageUnit": "string",
"meterReadingRaw": 0,
"meterReadingRawPrevious": 0,
"noncoincidentalUsage": 0,
"numberOfDaysInPeriod": 0,
"outageBlock": "string",
"powerFactor": 0,
"pressureMultiplier": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousMeterReadType": "string",
"previousReadTypeAsPrinted": "string",
"previousUsage": 0,
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"readingSchedule": "string",
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"usageActualName": "string",
"usageUnit": "string"
}
]
}
PublicUtilityAccountDataResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» account | string | false | none |
» statement | string | false | none |
accountName1 | string | false | none |
accountName2 | string | false | none |
accountNumber | string | false | none |
additionalProviderAlias | string | false | none |
amountDue | number | false | none |
amountDueAfterDueDate | number | false | none |
amountDueBeforeDueDate | number | false | none |
amountDueByDate | string(date-time) | false | none |
billingAddress | PublicUtilityAddressResource | false | none |
charges | [PublicChargeResource] | false | none |
created | string(date-time) | false | none |
customerNumber | string | false | none |
cycleNumber | string | false | none |
disconnectDate | string(date-time) | false | none |
discountBeforeDueDate | number | false | none |
facilityName | string | false | none |
facilityNumber | string | false | none |
finalBillNotice | string | false | none |
insallmentOutstanding | number | false | none |
installmentDue | number | false | none |
mapNumber | string | false | none |
meterData | [PublicMeterDataResource] | false | none |
newCharges | number | false | none |
normalizedAccountNumber | string | false | none |
outstandingBalance | number | false | none |
paymentAddress | PublicUtilityAddressResource | false | none |
previousBalance | number | false | none |
providerClassification | string | false | none |
totalCharges | number | false | none |
usages | [PublicUsageResource] | false | none |
Enumerated Values
Property | Value |
---|---|
providerClassification | PRIMARY |
providerClassification | SECONDARY |
PublicTariffResource
{
"created": "2022-04-27T17:18:52Z",
"providerAlias": "string",
"providerName": "string",
"tariffName": "string"
}
PublicTariffResource
Properties
Name | Type | Required | Description |
---|---|---|---|
created | string(date-time) | false | none |
providerAlias | string | false | none |
providerName | string | false | none |
tariffName | string | false | none |
PublicUsageResource
{
"calorificValue": 0,
"citedUsage": 0,
"contractUsage": 0,
"contributionStatus": "CONTRIBUTING",
"created": "2022-04-27T17:18:52Z",
"hoursOfUse": 0,
"loadFactor": 0,
"loadType": "string",
"measuredUsage": 0,
"measurementType": "string",
"meterConstantMultiplier": 0,
"meterConversionMultiplier": 0,
"meterReadDate": "2022-04-27T17:18:52Z",
"meterReadType": "string",
"meterReadingDelta": 0,
"meterReadingDeltaPrevious": 0,
"meterReadingDeltaUsageUnit": "string",
"meterReadingRaw": 0,
"meterReadingRawPrevious": 0,
"noncoincidentalUsage": 0,
"numberOfDaysInPeriod": 0,
"outageBlock": "string",
"powerFactor": 0,
"pressureMultiplier": 0,
"prevReadDate": "2022-04-27T17:18:52Z",
"previousMeterReadType": "string",
"previousReadTypeAsPrinted": "string",
"previousUsage": 0,
"rateOrTariffActualName": "string",
"readTypeAsPrinted": "string",
"readingSchedule": "string",
"tariffRateComponents": [
{
"tariffName": "string",
"tariffRateComponentType": "string"
}
],
"usageActualName": "string",
"usageUnit": "string"
}
PublicUsageResource
Properties
Name | Type | Required | Description |
---|---|---|---|
calorificValue | number | false | none |
citedUsage | number | false | none |
contractUsage | number | false | none |
contributionStatus | string | false | none |
created | string(date-time) | false | none |
hoursOfUse | number | false | none |
loadFactor | number | false | none |
loadType | string | false | none |
measuredUsage | number | false | none |
measurementType | string | false | none |
meterConstantMultiplier | number | false | none |
meterConversionMultiplier | number | false | none |
meterReadDate | string(date-time) | false | none |
meterReadType | string | false | none |
meterReadingDelta | number | false | none |
meterReadingDeltaPrevious | number | false | none |
meterReadingDeltaUsageUnit | string | false | none |
meterReadingRaw | number | false | none |
meterReadingRawPrevious | number | false | none |
noncoincidentalUsage | number | false | none |
numberOfDaysInPeriod | number | false | none |
outageBlock | string | false | none |
powerFactor | number | false | none |
pressureMultiplier | number | false | none |
prevReadDate | string(date-time) | false | none |
previousMeterReadType | string | false | none |
previousReadTypeAsPrinted | string | false | none |
previousUsage | number | false | none |
rateOrTariffActualName | string | false | none |
readTypeAsPrinted | string | false | none |
readingSchedule | string | false | none |
tariffRateComponents | [PublicTariffRateComponentResource] | false | none |
usageActualName | string | false | none |
usageUnit | string | false | none |
Enumerated Values
Property | Value |
---|---|
contributionStatus | CONTRIBUTING |
contributionStatus | NON_CONTRIBUTING |
contributionStatus | REDUNDANT |
contributionStatus | REDUNDANT_OUTSTANDING_BALANCE |
PublicCreateUtilityAccountRequest
{
"accountNumber": "string",
"enabled": true,
"providerId": "string"
}
PublicCreateUtilityAccountRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
accountNumber | string | true | none |
enabled | boolean | false | Controls whether data will continue to be extracted for this account. |
providerId | string | true | The primary key used to represent this provider |
PublicUtilityCredentialRequest
{
"correlationId": "string",
"providerId": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string",
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string"
}
PublicUtilityCredentialRequest
Properties
Name | Type | Required | Description |
---|---|---|---|
correlationId | string | false | An ID used to match the utility data pulled for this request back to users in your system |
providerId | string | true | The primary key used to represent this provider |
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 |
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 |
UtilityCredentialResource
{
"_links": {
"provider": "string",
"passwords": "string",
"events": "string",
"customData": "string",
"consent": "string",
"updateUrl": "string",
"accounts": "string",
"self": "string"
},
"runHistory": true,
"correlationId": "string",
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"enabled": true,
"lastModified": "2022-04-27T17:18:52Z",
"lastModifiedBy": "string",
"nextScheduledRun": "2022-04-27T17:18:52Z",
"providerName": "string",
"status": "OK",
"statusDetail": "ACCOUNT_LOCKED",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
UtilityCredentialResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» provider | string | false | none |
» passwords | string | false | none |
» events | string | false | none |
» customData | string | false | none |
» consent | string | false | none |
» updateUrl | string | false | none |
» accounts | string | false | none |
» self | string | false | none |
runHistory | boolean | false | none |
correlationId | string | false | An ID used to match the utility data pulled for this request back to users in your system |
created | string(date-time) | false | The date-time the credential was registered in Urjanet's system |
createdBy | string | false | none |
enabled | boolean | false | Controls whether data will continue to be extracted behind this credential. |
lastModified | string(date-time) | false | none |
lastModifiedBy | string | false | none |
nextScheduledRun | string(date-time) | false | The time that this credential is next scheduled to be ran in our system |
providerName | string | false | This field is searchable. |
status | string | false | A high-level status for the credential. See this table for more information. This field is searchable. |
statusDetail | string | false | A detailed status for the credential. See this table for more information. This field is searchable. |
username | string | false | 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 |
Enumerated Values
Property | Value |
---|---|
status | OK |
status | PENDING |
status | ACTION_REQUIRED |
statusDetail | ACCOUNT_LOCKED |
statusDetail | E_BILL_REQUIRED |
statusDetail | LOGIN_FAILURE |
statusDetail | MULTI_FACTOR_AUTH_FAILURE |
statusDetail | NAVIGATION_FAILURE |
statusDetail | NO_ACCOUNTS_FOUND |
statusDetail | NO_ACTION_REQUIRED |
statusDetail | SECURITY_QUESTIONS |
statusDetail | STATEMENT_UNAVAILABLE |
statusDetail | UNDER_REVIEW |
statusDetail | UNSUPPORTED_CAPTCHA |
statusDetail | USER_ACTION_REQUIRED |
statusDetail | WEBSITE_DOWN |
statusDetail | ACCOUNT_SETUP_REQUIRED |
UtilityChallengeResponseResource
{
"value": "string",
"challenge": "MFA_RESPONSE_ONE_TIME_PASS"
}
Properties
Name | Type | Required | Description |
---|---|---|---|
value | string | true | The requested value from the user for MFA input |
challenge | string | false | The particular challenge that this value corresponds to (e.g. one time pass, security question, etc) |
Enumerated Values
Property | Value |
---|---|
challenge | MFA_RESPONSE_ONE_TIME_PASS |
challenge | MFA_RESPONSE_CODE_METHOD |
challenge | MFA_RESPONSE_CAPTCHA_ANSWER |
UtilityAccountEventResource
{
"_links": {
"self": "string"
},
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"eventType": "ACCOUNT_REQUESTED",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
UtilityAccountEventResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
created | string(date-time) | false | The date-time this event occurred. |
createdBy | string | false | The user that initiated the event |
eventType | string | false | The type of event that occurred |
fieldName | string | false | For custom data changes, represents which custom data field was modified |
newValue | string | false | For custom data changes, represents the newly assigned value of the field |
oldValue | string | false | For custom data changes, represents the previous value of the field |
Enumerated Values
Property | Value |
---|---|
eventType | ACCOUNT_REQUESTED |
eventType | ACCOUNT_ENABLED |
eventType | ACCOUNT_DISABLED |
eventType | ACCOUNT_UPDATED |
eventType | ACCOUNT_CUSTOM_DATA_UPDATED |
eventType | ACCOUNT_CREATED |
eventType | ACCOUNT_AGING |
UtilityPaymentResource
{
"amount": 0,
"currency": "string",
"paymentDate": "2022-04-27"
}
UtilityPaymentResource
Properties
Name | Type | Required | Description |
---|---|---|---|
amount | number | false | This field is searchable |
currency | string | false | none |
paymentDate | string(date) | false | This field is searchable |
PublicConsentResource
{
"consentStatus": "string",
"credentialCreatedDate": "2022-04-27T17:18:52Z",
"lastModifiedDate": "2022-04-27T17:18:52Z",
"origin": "API",
"privacyPolicyUrl": "string",
"revokeDate": "2022-04-27T17:18:52Z",
"termsOfServiceUrl": "string"
}
PublicConsentResource
Properties
Name | Type | Required | Description |
---|---|---|---|
consentStatus | string | false | none |
credentialCreatedDate | string(date-time) | false | none |
lastModifiedDate | string(date-time) | false | none |
origin | string | false | none |
privacyPolicyUrl | string | false | none |
revokeDate | string(date-time) | false | none |
termsOfServiceUrl | string | false | none |
Enumerated Values
Property | Value |
---|---|
origin | API |
origin | CONNECT |
UtilityCredentialEventResource
{
"_links": {
"self": "string"
},
"created": "2022-04-27T17:18:52Z",
"createdBy": "string",
"eventType": "CREDENTIAL_CREATED",
"fieldName": "string",
"newValue": "string",
"oldValue": "string"
}
UtilityCredentialEventResource
Properties
Name | Type | Required | Description |
---|---|---|---|
_links | object | false | none |
» self | string | false | none |
created | string(date-time) | false | The date-time this event occurred. |
createdBy | string | false | The user that initiated the event |
eventType | string | false | The type of event that occurred |
fieldName | string | false | For custom data changes, represents which custom data field was modified |
newValue | string | false | For custom data changes, represents the newly assigned value of the field |
oldValue | string | false | For custom data changes, represents the previous value of the field |
Enumerated Values
Property | Value |
---|---|
eventType | CREDENTIAL_CREATED |
eventType | CREDENTIAL_ENABLED |
eventType | CREDENTIAL_DISABLED |
eventType | CREDENTIAL_UPDATED |
eventType | CREDENTIAL_CUSTOM_DATA_UPDATED |
eventType | CREDENTIAL_ACQ_TEMPLATE_UPDATED |
UtilityCredentialSecretsResource
{
"password": "string",
"password2": "string",
"password3": "string",
"password4": "string",
"username": "string",
"username2": "string",
"username3": "string",
"username4": "string"
}
UtilityCredentialSecretsResource
Properties
Name | Type | Required | Description |
---|---|---|---|
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 |
username | string | false | 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 |
UtilityCredentialUpdateUrlResource
{
"updateUrl": "string",
"expiration": "2022-04-27T17:18:52Z"
}
UtilityCredentialUpdateUrlResource
Properties
Name | Type | Required | Description |
---|---|---|---|
updateUrl | string | false | none |
expiration | string(date-time) | false | none |
UtilityCredentialRefreshUrlResource
{
"refreshUrl": "string",
"expiration": "2022-04-27T17:18:52Z"
}
UtilityCredentialRefreshUrlResource
Properties
Name | Type | Required | Description |
---|---|---|---|
refreshUrl | string | false | none |
expiration | string(date-time) | false | none |
PublicOrganizationCredentialUrlResource
{
"addUrl": "string"
}
PublicOrganizationCredentialUrlResource
Properties
Name | Type | Required | Description |
---|---|---|---|
addUrl | string | false | none |
undefined