What does this API do?
The CGTMSE Borrower Eligibility API allows Member Lending Institutions (MLIs) to check whether a prospective borrower is eligible for a CGTMSE guarantee before proceeding with a loan application. The borrower's IT PAN number is submitted, and the API returns an eligibility status and the eligible guarantee amount.
Eligibility is determined as follows:
- Eligible: First-time borrower, or total guarantee amount is less than ₹5 crore.
- Not Eligible: Total guarantee amount exceeds ₹5 crore.
- Defaulter: Borrower has been marked as NPA.
Based on the eligibility status, the lender can decide to process the loan or inform the borrower accordingly.
Who can use it?
Any onboarded Member Lending Institution (MLI) that has subscribed to the CGTMSE service on the ULI Platform Developer Portal. Eligible institution types include scheduled commercial banks, small finance banks, regional rural banks (RRBs), NBFCs, and other financial institutions registered with CGTMSE.
Prerequisites
Complete all common platform prerequisites as described in Getting Started with ULI Platform APIs. Then ensure the following CGTMSE-specific steps are also complete:
- CGTMSE service subscription: The CGTMSE service must be subscribed in the Platform Developer Portal separately for Sandbox and Production. Steps are available in the latest SOP for Lender Onboarding document (Section 10).
- CGTMSE Sign-in token: Before calling this API, you must first obtain a CGTMSE authentication token by calling the CGTMSE Sign-in API. This token must be passed in the
x-cgtmse-tokenrequest header.
API endpoints
| Environment | URL |
|---|---|
| Sandbox (Non-Prod) | https://extgw.nonprod.rbihub.io/cgtmse/borrowereligibility/1.3/en |
| Production | https://extgw.api.rbihub.io/cgtmse/borrowereligibility/1.3/en |
HTTP Method: POST
URL path convention: /{service name}/{ver}/{lang} — for this API: service name = cgtmse/borrowereligibility, ver = 1.3, lang = en
Headers
| Header | Description | Example |
|---|---|---|
Authorization | Bearer JWT token generated by the ULI Platform Authentication service. Refer to the Authentication and Authorization API specification for token generation steps. | Bearer <JWT token> |
client-id | Base64-encoded Client ID issued by the platform during lender registration. | pNRxiviTvgBrf7qMANqBVskDYfEa |
provider | Service provider code for CGTMSE. | 112 |
x-cgtmse-token | Authentication token obtained from the CGTMSE Sign-in API. Required for all CGTMSE business APIs. | <authToken from Sign-in API> |
api-key | Reserved for future use. A 24-character alphanumeric key issued during registration. | 434950ee34353tty33463399 |
Request body
The request body is a JSON-formatted encrypted payload following the standard platform envelope. The plain (unencrypted) request contains the borrower's IT PAN number:
{
"itpan": "ABRPL3597R"
}
This plain payload is then encrypted and submitted as the data field within the standard platform envelope:
{
"meta": {
"ver": "1.3",
"ts": "<ISO-8601 timestamp>",
"txncode": "<unique transaction code>"
},
"hmac": "<SHA-256 hash of encrypted data value>",
"data": "<encrypted payload>"
}
| Field | Description |
|---|---|
meta.ver | Version of the request template. Use 1.3. |
meta.ts | Request initiation timestamp in ISO-8601 format (e.g. 2024-06-27T12:26:45+0530). |
meta.txncode | Unique transaction code provided by the lender. |
hmac | SHA-256 hash of the value under the data key. |
data | Encrypted request payload containing the borrower's IT PAN as per CGTMSE specification. |
Plain payload fields:
| Field | Description | Required |
|---|---|---|
itpan | IT PAN number of the borrower whose CGTMSE guarantee eligibility is being checked. | Yes |
Response fields
On success, the encrypted data field decrypts to a plain response containing the eligibility status. Example plain response:
{
"STATUS": [
{
"ITPAN": "ABRPL3597R",
"ELIGIBILITY_STATUS": "PASS",
"ELIGIBILITY_AMNT": 50000000
}
]
}
| Field | Description |
|---|---|
result.errcode | Error code. E000 indicates success; any other value indicates failure. |
result.status | Transaction status (success or fail). |
data | Encrypted response payload. Decrypts to the STATUS array described below. |
data → STATUS[].ITPAN | IT PAN number of the borrower as submitted in the request. |
data → STATUS[].ELIGIBILITY_STATUS | Eligibility outcome: PASS (eligible), FAIL (not eligible — guarantee amount exceeds ₹5 crore), or DEFAULTER (borrower marked as NPA). |
data → STATUS[].ELIGIBILITY_AMNT | Eligible guarantee amount in rupees. |
signature | Digital signature (SHA256withECDSA) of the data value for source verification. |
hmac | SHA-256 hash of the data value. |
publickey | Platform public key for verifying the signature. |
sig-algo | Signing algorithm used. Value: SHA256withECDSA. |
meta.txncode | Unique transaction code echoed from the request. |
meta.ver | Version of the response template. |
meta.ts | Timestamp of the request in ISO-8601 format. |
Error codes
| Error Code | Description |
|---|---|
E000 | Success — no error. |
E801 | Authentication failed at CGTMSE. |
E802 | Required header x-cgtmse-token is missing. |
E043 | Provider internal error (message is dynamic). |
For platform-level error codes, refer to the latest Platform Error Code reference document available in the Platform API Spec folder on the Developer Portal.
Who to contact?
If you encounter an issue, email support@rbihub.in with the following details:
- Subject: CGTMSE API Error
- Platform Service Name: CGTMSE
- Platform Environment: Sandbox / Production
- Service Provider Code: 112
- Request Payload (headers + body) sent to platform
- Error Code received from the platform
- Error Message received from the platform
- Attachment: Screenshot or log of the error
- Prerequisites status: IP Whitelisting, URL Whitelisting, Service Subscription, Token Generation, CGTMSE Sign-in Token
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article