• 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

Roles - Auth API

Introduction

Roles Auth APIs allow you to perform the activities related to Roles operations.

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

API End Point
API Functionality
GET /roles
Get a list of roles
GET /roles/{id}/EffectivePermissionsGetById
Get effective permissions that belong to a specific role (the role is identified by its ID)
GET /roles/{name}
Returns role by name
GET /roles/{name}/ChildRoles
Return a set of child roles associated with a specific parent role (parent role identified by its role name)
GET /roles/{id}/EffectivePermissions
Get effective permissions by role name
GET /roles/{name}/Permissions
Get direct permissions assigned to a role (the role is identified by its role name)
GET /roles/{name}/Users
Return users that have been assigned a specific role
GET /roles/ByAudience
Get a list of all roles (ordered by the audiences that they belong to)
GET /roles/Tree
Get tree of roles by parent name
POST /roles
Create a new role
POST /roles/{name}/DefaultSettings
Assign default settings to all users in a role
POST /roles/{name}/Permissions
Assign permission to a specific role by the role's name
POST /roles/ChildRoles
Creates a child role and assigns it to a parent role
PUT /roles/{name}
Update a role by name
PUT /roles/{name}/DefaultSettings
Modify default settings assigned to a given role
DELETE /roles/{name}
Delete a specific role (defined by role name)
DELETE /roles/{name}/DefaultSettings
Remove user default settings associated to a given role
DELETE /roles/{name}/Permissions
Drop permission and array of permission names that belong to a specific role
DELETE /roles/ChildRoles
Remove child role(s) associated to a given parent role

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

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