What does this API do?
The MoRTH Vehicle Hypothecation service (provider code 156) provides two operations for lenders managing vehicle loans:
- Hypothecation Fetch (
vehicle-hypothecation-details) — Retrieves the current and historical hypothecation (lien) status for a vehicle, including financer name, HP start/end dates, and active status. - Hypothecation Termination (
vehicle-hypothecation-termination) — Submits a request to MORTH to terminate an active hypothecation entry for a vehicle upon loan closure.
Both APIs use a hybrid encryption scheme (AES-256-GCM for payload, RSA-2048-OAEP for key protection) for request and response data. The encrypted payload is base64-encoded and passed in the data field.
Who can use it?
Lenders and financial institutions onboarded to the ULI Platform who have subscribed to the MoRTH Hypothecation service in the Developer Portal.
What are the prerequisites?
Complete all common platform prerequisites as described in Getting Started with ULI Platform APIs.
In addition, the following are specific to this service:
- Payload encryption: Request data must be encrypted using the hybrid AES-256-GCM + RSA-2048-OAEP scheme described in the API specification (Section 8). The ULI Platform's public key (shared during onboarding) is used to protect the AES session key. The encrypted JSON is base64-encoded and submitted as the
datafield. - Lender ID: A
lender_ID(8-character string prefixedS) is assigned by RBIH and must be included in each request payload. - Ensure the MoRTH service is subscribed separately for Sandbox and Production in the Dev Portal.
What are the API endpoints?
| Service | Purpose | Sandbox URL | Production URL | Method |
|---|---|---|---|---|
vehicle-hypothecation-details |
Fetch hypothecation details for a vehicle | https://extgw.nonprod.rbihub.io/vehicle-hypothecation-details/1.0/en |
https://extgw.api.rbihub.io/vehicle-hypothecation-details/1.0/en |
POST |
vehicle-hypothecation-termination |
Submit hypothecation termination for a vehicle | https://extgw.nonprod.rbihub.io/vehicle-hypothecation-termination/1.0/en |
https://extgw.api.rbihub.io/vehicle-hypothecation-termination/1.0/en |
POST |
What headers must be sent?
The following headers apply to both endpoints:
| Header | Description | Required |
|---|---|---|
Authorization | JWT Bearer token from the Authentication API | Mandatory |
client-ID | Base64-encoded Client ID from onboarding | Mandatory |
provider-ID | 156 for MoRTH | Mandatory |
timestamp | Date and time of request in format YYYY-MM-DDTHH:mm:ss.SSSZ | Mandatory |
request-ID | Unique alphanumeric request identifier provided by the lender | Mandatory |
customer-consent | Boolean — must be true indicating customer consent has been obtained | Mandatory |
x-env-route | Set to /sb for Sandbox only | Sandbox only |
What does the request body look like?
Both endpoints accept a JSON body with an encrypted data field and an HMAC:
{
"hmac": "SHA-256 hash of the encrypted data value",
"data": "base64(JSON{ sessionKey: base64(RSA(AES_KEY)), sessionId: base64(RSA(IV)), payload: base64(AES-GCM(DATA)) })"
}
The plain-text JSON payload (before encryption) differs by endpoint:
vehicle-hypothecation-details payload fields
| Field | Description | Data Type |
|---|---|---|
registration_Num | Vehicle registration number | String (max 10 chars) |
chassis_Num | Last 5 digits of the chassis number | String (5 chars) |
lender_ID | Lender ID provided by RBIH (e.g., S1234567) | String (8 chars) |
loan_Acct_Num | Loan account number | String (1–50 chars) |
owner_name | Vehicle owner name | String (1–35 chars) |
vehicle-hypothecation-termination payload fields
| Field | Description | Data Type |
|---|---|---|
registration_Num | Vehicle registration number | String (max 10 chars) |
chassis_Num | Last 5 digits of the chassis number | String (5 chars) |
termination_date | Hypothecation termination date (format: YYYY-MM-DD) | Date |
lender_ID | Lender ID provided by RBIH | String (8 chars) |
loan_Acct_Num | Loan account number | String (1–50 chars) |
owner_name | Vehicle owner name | String (1–35 chars) |
What does the response contain?
The response body contains an encrypted data field. After decryption (using the same hybrid scheme with the lender's private key), the plain-text JSON contains the following fields.
vehicle-hypothecation-details decrypted response
| Field | Description |
|---|---|
response_code | 1 for success |
response_message | Human-readable outcome message |
registration_num | Vehicle registration number |
chassis_num | Full chassis number |
engine_num | Engine number |
owner_name | Registered owner name |
financer_details[].financer_name | Name of the financer/lender on record |
financer_details[].is_active | Whether this hypothecation entry is currently active |
financer_details[].hp_start_date | Hypothecation start date |
financer_details[].hp_end_date | Hypothecation end date (NA if active) |
financer_details[].status | Status message for the hypothecation entry |
vehicle-hypothecation-termination decrypted response
| Field | Description |
|---|---|
response_code | 1 for success |
response_message | Confirmation message including the MORTH reference ID and vehicle number |
reference_number | MORTH-assigned reference number for the termination request |
termination_request_date | Date and time the termination was submitted to MORTH |
Common response envelope fields
| Field | Description |
|---|---|
meta.response_id | Unique request ID provided by the lender |
meta.provider_name | Always MORTH |
meta.timestamp | Response timestamp in YYYY-MM-DDTHH:mm:ss.SSSZ format |
security.signature | Digital signature of the response data |
security.hmac | SHA-256 hash of the response data |
security.public_key | Platform public key for source verification |
On failure, the data array contains error_code and error_message. Error codes follow the pattern E-MORT-P-XXX (platform error) or E-MORT-D-XXX (provider/MORTH error).
What are the error codes?
Error codes are structured as:
E-MORT-P-XXX— Error originating from the ULI Platform layerE-MORT-D-XXX— Error originating from the MORTH provider
Example: E-MORT-P-001 — Missing mandatory header parameter. Refer to the Latest Platform Error Code document on the Dev Portal for the complete list.
Who do I contact for support?
Write to support@rbihub.in with the following details:
- Subject: MoRTH Hypothecation API Error
- Service Name: Vehicle Hypothecation (MoRTH)
- Environment: Sandbox / Production
- Service Provider code: 156 (MoRTH)
- Request Payload (headers and body)
- Error Code and Error Message received
- Screenshot or log of the error
- Prerequisites status: IP Whitelisting, URL Whitelisting, Service Subscription, Token Generation
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