• Login
  • Create a Free Developer Account
logo
Home Support Desk My

Developer Reference Docs

API Overview

  • Auth API
    • Account
    • Applications
    • Audiences
    • OTPermissions
    • Permissions
    • Portal
    • Roles
    • Users
  • Underwriting API
    • Portal
    • Prospect Adobe
    • Prospect Document
    • Prospect Dropbox Files
    • Prospect Entities
    • Prospect Extras
    • Prospect Generate PDF
    • Prospect Integration
    • Prospect Logs
    • Prospect Messages
    • Prospect Ofac Search
    • Prospect Plaid Email
    • Prospect Resellers
    • Prospects
    • Prospect Scores
    • Prospect Scores Average Bank Balance
    • Prospect Scores Business Types
    • Prospect Scores Equifax Owner Credit
    • Prospect Scores Tax Id
    • Prospects Scores Average Bank Balances Plaid Transaction
    • Prospect Status
  • Process API
    • Holding Transactions
    • Invoices
    • Merchants
    • Reconciliation
    • Rtp
    • Rtp Transactions
    • Settlements
    • Settlements Reports
    • Settlements Reports Groups
    • Tokens
    • Transactions
  • Main API
    • Reports
    • ReportsV2
  • API Onboarding Tutorial
  • Verify API
    • iCG Verify Legacy
    • iCG Verify

Accounts - Auth API

Introduction

Accounts Auth APIs allow you to perform the activities related to accounts operations such as 

  • Create change password, forgot password, my settings, new user and so on
  • Update my settings, my profile
  • Retrieve the list of current users, Resend confirmation mail/confirm change password/confirm forgot password and so on
  • Delete current user settings

The Accounts - Auth API and their functionalities are given below:

API End Point
API Functionality
GET /{userId}/{audienceId}/ReSendConfirmationEmail
Resends confirmation email once a user has registered.
Note:
This endpoint allows anonymous access, it does not require authentication.
GET /ConfirmChangeEmail
Allows a user to confirm his new account by email
GET /ConfirmChangePassword
Allows a user to change his password
Note:
This endpoint allows anonymous access, it does not require authentication.
GET /ConfirmEmail
 
Allows a new user to confirm his account by email
Note:
This endpoint allows anonymous access, it does not require authentication.
GET /ConfirmEmailSetPasswordAction
Allows a new user to confirm his account by email
GET /DisableTFA
Disables Google two-factor authentication for the current user
GET /EnableAppTFA
Enables Google two-step Authentication for a given app
GET /ForgotPassword
Allows to recover the password by sending an email
Note:
This endpoint allows anonymous access, it does not require authentication.
GET /ForgotUserName
Allows a user to recover the username by sending an email
Note:
This endpoint allows anonymous access, it does not require authentication.
GET /MyPermissions
Returns and lists the current user's permissions
GET /MyProfile
Returns and lists details concerning the current user
GET /MySettings
Returns and lists an array of the current user settings
GET /MySettings/{Key}
Returns and lists a specific user setting belonging to the current user, based on the setting's key
GET /SendRegisterEmail
Sends a registration email to the current user's email address
Note:
This endpoint allows anonymous access, it does not require authentication.
POST /ChangeEmail
Allows the user to change the email address
POST /ChangePassword
Allow current user to Change their Password
POST /EnableTFA
Enables the Google Authenticator for the app, by submitting the necessary information
POST /ForgotPasswordV2
Allow to recover the password by sending an email
Note:
This endpoint allows anonymous access, it does not require authentication.
POST /ForgotUsernameV2
Allows a user to recover the username by sending an email
Note:
This endpoint allows anonymous access, it does not require authentication.
POST /Login
 
POST /Login/API
Allows an app to access the system via an API, through a special Api Key.
Note:
This endpoint allows anonymous access, it does not require authentication.
POST /Login/TFA
Allows an entity to confirm login by OTP code sent via email or via phone.
Note:
This endpoint allows anonymous access, it does not require authentication.
POST /MySettings
Post/Put current user settings
POST /Register
Allows for the registration of a new user into the system.
Note:
This endpoint allows anonymous access, it does not require authentication.
PUT /MyProfile
Edits details that belong to the current user
PUT /MySettings
Post/Put current user settings
Delete /MySettings
Deletes current user Settings
      

iCG Authentication Service

iCG APIs are secured by OAuth 2.0 ROPC grant type. The external application must obtain user authorization before it executes an endpoint call incase this API chooses to use OAuth 2.0 ROPC Grant. This authorization includes the following steps:

  • You must first exchange the user's credentials for an access token.
  • The access token is an object containing information for authorizing client requests and refreshing the token itself.

The end-to-end authorization request is represented in the below diagram.

sequenceDiagram
    participant Merchant
    participant ICG (token URL)
    autonumber
    Merchant ->>ICG (token URL): Client ID, username, password
    ICG (token URL)->>Merchant: id_token, access token, refresh token

The above step is to generate access token using the iCG provided Client id and with Merchant's user credentials.

Key Request Parameters

Once you receive the Client ID, and the user credentials, the next step is call the OAuth 2.0 ROPC endpoint to generate the access token.

Element Value
Method POST
Authorization Type OAuth 2.0 ROPC
Auth URI https://auth.icheckdev.com/
Client ID *****(iCG application audience ID)
Username {username}
Password {password}
grant_type password

Sample cURL Request

curl -X POST \

--url 'https://auth.icheckdev.com/Login' \

--header 'Accept: application/json' \

--data 'grant_type=password' \

--data 'username={USERNAME}' \

--data 'password={PASSWORD}' \

--data 'client_id={iCG APPLICATION AUDIENCE ID}' \

 On receiving the requests, iCG Authorization system validates all the parameters in the request and, if the request pass through the validation process, then it will generate your access token and return it in the response.

Sample Response Body

{
"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1laWQiOiJjNjFhY2JhYy02NjA4LTQ3Y2YtYWIxOS0wZWQ2YmY3NTI5MTciLCJ1bmlxdWVfbmFtZSI6IlN1c2VlbGEiLCJlbmNyeXB0ZWRfZW1haWwiOiJGcGJnZ1RqbTNkbXl2cFlWVlVZNnJzcHBDKzcweFIwWGoyeTR1Mm8rc1ZRPSIsInR5cGUiOiIiLCJpc3MiOiJodHRwczovL2F1dGguaWNoZWNrZGV2LmNvbS8iLCJhdWQiOiJmMWZhN2ZmZi05MmU0LTQxMzMtOGQxMC0zNjg2OGM0OTg3YWQiLCJleHAiOjE3MDQ5MDY1MjAsIm5iZiI6MTcwNDgyMDEyMH0.Q03E-HrXto9CBzHcC43qn2wZG5VpUV4hzIfcCuRGWu4"
"token_type":"bearer"
"expires_in":86399
}

The response parameters and their descriptions are:

Parameter Description
access_token The access token to be used to call the functional APIs
token_type Bearer
expires_in The number of seconds until the access token expires

Resend Confirmation Email

Introduction

This endpoint allows to resend confirmation email once a user is registered in iCG developer account.

Key Request Parameters

Element Value
Method GET
Authorization Type This endpoint allows anonymous access, it does not require authentication.
URI

/{userId}/{audienceId}/ReSendConfirmationEmail

Query Parameter

URI: /{userId}/{audienceId}/ReSendConfirmationEmail?userId=eb853b32-5263-47d3-82c9-23cdcac5b8bd&audienceId=f1fa7fff-92e4-4133-8d10-36868c4987ad

Parameter Name Description Mandatory/Optional Data Type Example
userId This is the Id created by iCG in the back end when user registers his/her account in the developer portal Mandatory string eb853b32-5263-47d3-82c9-23cdcac5b8bd89
audienceId

This the Id displayed in the My account page of the registered user.

Note: The user must use the specific audienceId related to the API

Mandatory string f1fa7fff-92e4-4133-8d10-36868c4987ad

Sample cURL request

curl --location --globoff 'https://auth..com/{userId}/{audienceId}/ReSendConfirmationEmail?userId=eb853b32-5263-47d3-82c9-23cdcac5b8bd&audienceId=f1fa7fff-92e4-4133-8d10-36868c4987ad'

Sample Response

The response is triggered as below:

"The confirmation email has been sent.  This email will be coming from noreply@icheckgateway.com. Please check your junk/spam folder if you do not see it in your inbox."
 

My Permission 

Introduction

This endpoints returns and list the current user's permissions.

Key Request Parameters

Element Value
Method GET
Authorization Type OAuth 2.0 ROPC
URI

/MyPermissions

Note: The user can find the details to generate token in iCG Authorization API section

Headers

Parameter Name Description Mandatory/Optional Data Type Example
Aud_id

This the Id displayed in the My account page of the registered user.

Note: The user must use the specific audienceId related to the API

Mandatory string f1fa7fff-92e4-4133-8d10-36868c4987ad

Sample cURL request

curl --location 'https://auth.icheckdev.com/MyPermissions' \
--header 'Aud_id: f1fa7fff-92e4-4133-8d10-36868c4987ad' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1laWQiOiJlYjg1M2IzMi01MjYzLTQ3ZDMtODJjOS0yM2NkY2FjNWI4YmQiLCJ1bmlxdWVfbmFtZSI6InN1c2VlbGFzIiwiZW5jcnlwdGVkX2VtYWlsIjoiMHZDdDVRa1JlWXVIdFhHaGJzVFh5S2MyN3cwNTdUV2pkd2h2RW83Wit1MD0iLCJ0eXBlIjoiIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLmljaGVja2Rldi5jb20vIiwiYXVkIjoiZjFmYTdmZmYtOTJlNC00MTMzLThkMTAtMzY4NjhjNDk4N2FkIiwiZXhwIjoxNzA4Nzk1MTg2LCJuYmYiOjE3MDg3MDg3ODZ9.WN9oXM64HK0dINu6AnqHK1H-OCBorSQ4Z4384WUrHZw'

Sample Response

The response is triggered as below:

[
    "01101|CONTR_USERS_GET|+",
    "01102|CONTR_USERS_ROLES*|+",
    "01103|CONTR_AUDIENCES_SETTINGSUPDATEBYKEY|+",
    "01104|CONTR_AUDIENCES_SETTINGSGETBYKEY|+",
    "99901|CONTR_*|+",
    "99902|CONTR_USERS_GET|+",
    "99901|CONTR_USERS_*|+",
    "99901|CONTR_CUSTOMERS_*|+",
    "99901|CONTR_AUDIENCES_*|+",
    "99901|CONTR_AUDIENCES_*|+"
 ]
 
 

Login via API Key

Introduction

This endpoint allows an application to access the system via an API, through a special Api Key.

Key Request Parameters

Element Value
Method POST
Authorization Type OAuth 2.0 ROPC
URI

/Login/API

Note: The user can find the details to generate token in iCG Authorization API section

Query Parameters

Parameter Name Description Mandatory/Optional Data Type Example
appid

The appid is the application ID assigned to the user

Mandatory string 9db2d10e25ac4e309a79ddc497e1b1ed
apikey

The apikey is the hash key of the application

Mandatory string 1GNK7kNgO7yZH0ngOBXGVvaIQMp1aLhGJyrM20B98o4=
audienceid

This the Id displayed in the My account page of the registered user.

Note: The user must use the specific audienceId related to the API

Mandatory string f1fa7fff-92e4-4133-8d10-36868c4987ad

Sample cURL

requestcurl --location --request POST 'https://auth.icheckdev.com/Login/API?appid=9db2d10e25ac4e309a79ddc497e1b1ed&apikey=1GNK7kNgO7yZH0ngOBXGVvaIQMp1aLhGJyrM20B98o4%3D&audienceid=f1fa7fff-92e4-4133-8d10-36868c4987ad'

On receiving the requests, iCG Authorization system validates all the parameters in the request and, if the request pass through the validation process, then it will generate your access token and return it in the response.

Sample Response Body

{
"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1laWQiOiJlYjg1M2IzMi01MjYzLTQ3ZDMtODJjOS0yM2NkY2FjNWI4YmQiLCJ1bmlxdWVfbmFtZSI6InN1c2VlbGFzIiwiZW5jcnlwdGVkX2VtYWlsIjoiMHZDdDVRa1JlWXVIdFhHaGJzVFh5S2MyN3cwNTdUV2pkd2h2RW83Wit1MD0iLCJ0eXBlIjoiOWRiMmQxMGUyNWFjNGUzMDlhNzlkZGM0OTdlMWIxZWQiLCJpc3MiOiJodHRwczovL2F1dGguaWNoZWNrZGV2LmNvbS8iLCJhdWQiOiJmMWZhN2ZmZi05MmU0LTQxMzMtOGQxMC0zNjg2OGM0OTg3YWQiLCJleHAiOjE3MDkwNTQ1MjEsIm5iZiI6MTcwODk2ODEyMX0.ELEAOjLyWFlXVmbLfyPOnzjnTsXnhm5YEE4zfIR_ySM"
"token_type":"bearer"
"expires_in":86399
}

The response parameters and their descriptions are:

Parameter Description
access_token The access token to be used to call the functional APIs
token_type Bearer
expires_in The number of seconds until the access token expires

Login via Two way Factor Authentication

This endpoint allows an entity to confirm login by OTP code sent via email or via phone.
Note:
This endpoint allows anonymous access, it does not require authentication.
 

Key Request Parameters

Element Value
Method POST
Authorization Type OAuth 2.0 ROPC
URI /Login/TFA

Query Parameters

Parameter Name Description Mandatory/Optional Data Type Example
pretoken

This is the token received in the response of the endpoint "/login"

Note: It is mandatory that the audienceid must be TFA enabled

Mandatory string 780aef20-6bcf-4583-94b7-b7d77ad83d10
code

This is the code received in the registered email id.

Note:

  • Verify that audienceid is TFA enabled
  • Send request for the endpoint "/login"
  • A code is sent to the registered email id
  • Pass the code as mandatory parameter while sending request for the endpoint  /login/TFA
Mandatory string 256987
audienceid

This the Id displayed in the My account page of the registered user.

Note: The user must use the specific audienceId related to the API

Mandatory string f1fa7fff-92e4-4133-8d10-36868c4987ad

Sample cURL

curl --location --request POST 'https://auth.icheckdev.com/Login/TFA?pretoken=c5a45ec7-a32d-424e-9abd-8c81bb03ead6&code=234996&audienceId=54308d5e5afb456aba153e8ae02c215c' 

On receiving the requests, iCG Authorization system validates all the parameters in the request and, if the request pass through the validation process, then it will generate a token and return it in the response.

Sample Response Body

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1laWQiOiJlYjg1M2IzMi01MjYzLTQ3ZDMtODJjOS0yM2NkY2FjNWI4YmQiLCJ1bmlxdWVfbmFtZSI6InN1c2VlbGFzIiwiZW5jcnlwdGVkX2VtYWlsIjoiejlZdEUxUWFZRU41NTdkamV0VkplbHpiTWY5SXhLRmd4eFZFczZvZGVZZz0iLCJ0eXBlIjoiIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLmljaGVja2Rldi5jb20vIiwiYXVkIjoiNTQzMDhkNWU1YWZiNDU2YWJhMTUzZThhZTAyYzIxNWMiLCJleHAiOjE3MDkyMjc5MTAsIm5iZiI6MTcwOTE0MTUxMH0.K9Jx_vvuEL_MobQPWrRQ15qUN4nA5HnekPvbuCZmGec",
    "token_type": "bearer",
    "expires_in": 86399
 }
 
 

To view our list of APIs, please visit the Auth API page.

NEXT: Underwriting API Overview
company logo iCheckGateway.com Support Desk
  • facebook_social_link_icon_alt_text
  • twitter_social_link_icon_alt_text
  • instagram_social_link_icon_alt_text
  • linkedin_social_link_icon_alt_text
  • youtube_social_link_icon_alt_text
  • Home
  • Sign out