RC Challan Details

5 endpoints · Core API

The RC Challan Details API helps retrieve comprehensive information about vehicle challans (traffic violations) issued against a specific vehicle. By using the vehicle's RC number, chassis number, and engine number, the API fetches challan records across multiple supported state portals. It provides detailed information such as challan numbers, offense descriptions, challan status, fine amounts, and whether the challan requires court appearance.

Benefits

  • 1. Retrieve challan records from multiple state portals through a single API call
  • 2. Access detailed traffic violation and offense information
  • 3. Identify pending and court challans associated with a vehicle
  • 4. Perform vehicle verification before purchase or transfer
  • 5. Simplify compliance monitoring for fleet and vehicle management

What you can do

Search and verify vehicle challan information, review offense details, monitor pending violations, identify court challans, and validate vehicle compliance records across supported state portals.

POST

/api/v1/rc/challan-advanced

#

Retrieve e-challan (traffic violation) details for a vehicle by registration number.

docs.signcare.io/core/api/rc-verification/rc-challan-details/#post-api-v1-rc-challan-advanced

Fetches traffic challan records from the Government e-Challan system. Returns both pending and disposed challan records along with offence details, fine amounts, and court information.

Key Benefits:

→ Retrieve pending and disposed challan records using only the vehicle registration number.

→ Access structured offence and violation data for each challan.

→ Government-authoritative source — data from official state traffic portals.

→ Supports compliance checks, pre-purchase vehicle due diligence, and fleet management.

Use Cases:

→ Vehicle verification before issuing loans, insurance policies, or used-car transactions.

→ Fleet compliance monitoring and challan management.

→ Pre-purchase due diligence for individuals and dealerships.

→ KYC and background verification workflows.

Request Body Parameters:

→ vehicleNumber (required): Vehicle registration number, 5 to 12 letters and digits (e.g. UP93BK9110). Lowercase letters, spaces and hyphens are accepted and removed before the lookup. Send the registration number, not a challan number.

→ request_id (optional): Your own unique reference for this request. A UUID is generated when omitted and returned as requestId.

Response Details:

→ disposedData: List of challan records that have been resolved/disposed.

→ pendingData: List of challan records that are still pending payment or court hearing.

→ Each record includes: challan number, date/time, place, status, offence details, fine amount, court info.

Headers

  • X-API-KEY
    stringrequired
    Your secret API key for the environment you are calling (Stage and Live use different keys).
  • X-API-APP-ID
    stringrequired
    The App ID issued together with the key.
  • Content-Type
    stringrequired
    application/json

Body parameters

application/json
  • vehicleNumber
    stringrequired
    Required. Vehicle registration number, 5 to 12 letters and digits (for example UP93BK9110). Lowercase letters, spaces and hyphens are accepted and removed before the lookup. Send the registration number, not a challan number.
    nullabledefault UP93BK9110
  • request_id
    stringoptional
    Optional. Your own unique reference for this request. A UUID is generated when omitted and returned as requestId.
    nullable
Sample request body
{ "vehicleNumber": "UP93BK9110", "request_id": "string" }

Responses

200OK
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    objectoptional
    No description.
    3 fields
    • vehicleNumber
      stringoptional
      No description.
      nullable
    • disposedData
      array<object>optional
      No description.
      nullable
      Each item: 24 fields
      • challanNo
        stringoptional
        No description.
        nullable
      • challanDateTime
        stringoptional
        No description.
        nullable
      • challanPlace
        stringoptional
        No description.
        nullable
      • challanStatus
        stringoptional
        No description.
        nullable
      • ownerName
        stringoptional
        No description.
        nullable
      • nameOfViolator
        stringoptional
        No description.
        nullable
      • driverName
        stringoptional
        No description.
        nullable
      • dlNo
        stringoptional
        No description.
        nullable
      • department
        stringoptional
        No description.
        nullable
      • stateCode
        stringoptional
        No description.
        nullable
      • fineImposed
        stringoptional
        No description.
        nullable
      • amountOfFineImposed
        stringoptional
        No description.
        nullable
      • receivedAmount
        anyoptional
        No description.
        nullable
      • receiptNo
        stringoptional
        No description.
        nullable
      • remark
        stringoptional
        No description.
        nullable
      • documentImpounded
        stringoptional
        No description.
        nullable
      • sentToRegCourt
        stringoptional
        No description.
        nullable
      • sentToVirtualCourt
        stringoptional
        No description.
        nullable
      • sentToCourtOn
        stringoptional
        No description.
        nullable
      • courtName
        stringoptional
        No description.
        nullable
      • courtAddress
        stringoptional
        No description.
        nullable
      • dateOfProceeding
        stringoptional
        No description.
        nullable
      • rtoDistrictName
        stringoptional
        No description.
        nullable
      • offenceDetails
        array<object>optional
        No description.
        nullable
        Each item: 2 fields
        • act
          stringoptional
          No description.
          nullable
        • name
          stringoptional
          No description.
          nullable
    • pendingData
      array<object>optional
      No description.
      nullable
      Each item: 24 fields
      • challanNo
        stringoptional
        No description.
        nullable
      • challanDateTime
        stringoptional
        No description.
        nullable
      • challanPlace
        stringoptional
        No description.
        nullable
      • challanStatus
        stringoptional
        No description.
        nullable
      • ownerName
        stringoptional
        No description.
        nullable
      • nameOfViolator
        stringoptional
        No description.
        nullable
      • driverName
        stringoptional
        No description.
        nullable
      • dlNo
        stringoptional
        No description.
        nullable
      • department
        stringoptional
        No description.
        nullable
      • stateCode
        stringoptional
        No description.
        nullable
      • fineImposed
        stringoptional
        No description.
        nullable
      • amountOfFineImposed
        stringoptional
        No description.
        nullable
      • receivedAmount
        anyoptional
        No description.
        nullable
      • receiptNo
        stringoptional
        No description.
        nullable
      • remark
        stringoptional
        No description.
        nullable
      • documentImpounded
        stringoptional
        No description.
        nullable
      • sentToRegCourt
        stringoptional
        No description.
        nullable
      • sentToVirtualCourt
        stringoptional
        No description.
        nullable
      • sentToCourtOn
        stringoptional
        No description.
        nullable
      • courtName
        stringoptional
        No description.
        nullable
      • courtAddress
        stringoptional
        No description.
        nullable
      • dateOfProceeding
        stringoptional
        No description.
        nullable
      • rtoDistrictName
        stringoptional
        No description.
        nullable
      • offenceDetails
        array<object>optional
        No description.
        nullable
        Each item: 2 fields
        • act
          stringoptional
          No description.
          nullable
        • name
          stringoptional
          No description.
          nullable
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
Example
{ "success": false, "statusCode": 200, "message": "XXXXX", "data": { "vehicleNumber": "string", "disposedData": [ { "challanNo": "string", "challanDateTime": "string", "challanPlace": "string", "challanStatus": "string", "ownerName": "string", "nameOfViolator": "string", "driverName": "string", "dlNo": "string", "department": "string", "stateCode": "string", "fineImposed": "string", "amountOfFineImposed": "string", "receivedAmount": null, "receiptNo": "string", "remark": "string", "documentImpounded": "string", "sentToRegCourt": "string", "sentToVirtualCourt": "string", "sentToCourtOn": "string", "courtName": "string", "courtAddress": "string", "dateOfProceeding": "string", "rtoDistrictName": "string", "offenceDetails": [ { "act": "string", "name": "string" } ] } ], "pendingData": [ { "challanNo": "string", "challanDateTime": "string", "challanPlace": "string", "challanStatus": "string", "ownerName": "string", "nameOfViolator": "string", "driverName": "string", "dlNo": "string", "department": "string", "stateCode": "string", "fineImposed": "string", "amountOfFineImposed": "string", "receivedAmount": null, "receiptNo": "string", "remark": "string", "documentImpounded": "string", "sentToRegCourt": "string", "sentToVirtualCourt": "string", "sentToCourtOn": "string", "courtName": "string", "courtAddress": "string", "dateOfProceeding": "string", "rtoDistrictName": "string", "offenceDetails": [ { "act": "string", "name": "string" } ] } ] }, "messages": [ "string" ], "request_id": "string", "isBillable": false }
400Bad Request
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 400
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 400 }
401Unauthorized
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 401
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 401 }
429Too Many Requests
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    anyoptional
    No description.
    nullable
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
Example
{ "success": false, "statusCode": 200, "message": "XXXXX", "data": null, "messages": [ "string" ], "request_id": "string", "isBillable": false }
500Internal Server Error
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 500
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 500 }
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/api/v1/rc/challan-advanced' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "vehicleNumber": "UP93BK9110", "request_id": "string" }'
POST

/api/v1/rc/challan-basic

#

Retrieve comprehensive vehicle challan (traffic violation) details using vehicle information.

docs.signcare.io/core/api/rc-verification/rc-challan-details/#post-api-v1-rc-challan-basic

This API retrieves comprehensive information about vehicle challans (traffic tickets) issued for a specific vehicle. It provides details such as challan numbers, offense descriptions, fine amounts, challan status, and whether the case requires court appearance.

The API allows users to search for challan records across multiple state portals simultaneously by providing the vehicle's RC number, chassis number, and engine number.

Key Benefits:

→ Access challan information from multiple states through a single API call.

→ Retrieve detailed offense information including fine amounts and challan status.

→ Identify court-challaned cases that require legal proceedings.

→ Verify pending traffic violations before vehicle purchases or transfers.

→ Simplify compliance and verification workflows for businesses and platforms.

Use Cases:

→ Pre-purchase vehicle verification to identify outstanding challans.

→ Fleet management companies monitoring driver compliance with traffic laws.

→ Used car dealerships performing due diligence before vehicle acquisition.

→ Insurance and financial institutions verifying vehicle liabilities.

→ Vehicle background verification and compliance checks.

Request Body Parameters:

→ rc_number (required): Vehicle registration number: 2 letters, 1 or 2 digits, 1 to 3 letters, then 1 to 4 digits (e.g. GJ01AB1234). Spaces around the value are trimmed and lowercase is converted to uppercase. Bharat (BH) series numbers are not accepted.

→ chassis_number (required): Chassis number of the vehicle. Trimmed and converted to uppercase.

→ engine_number (required): Engine number of the vehicle. Trimmed and converted to uppercase.

→ state_only (optional): Boolean. When set to true, restricts the search to the portals listed in state_portal.

→ state_portal (optional): Array of state portal codes to search (for example DL, TS, KA, GJ).

→ consent (optional): Defaults to Y.

→ request_id (optional): Your own unique reference for this request. A UUID is generated when omitted.

Response Details:

→ Challan number and challan date/time.

→ Offense details and violation descriptions.

→ Challan location and state details.

→ Fine amount and challan payment status.

→ Court challan indicators and court-related details.

→ Backend source status including successful and failed searches.

→ Vehicle accused name and portal source information.

Flow:

  1. Provide the vehicle RC number, chassis number, and engine number.

  2. Optionally restrict search to selected state portals.

  3. Submit the API request.

  4. System fetches challan records from supported state portals.

  5. Review pending, disposed, or court challans returned in the response.

  6. Use the challan details for verification, compliance, or legal workflows.

Headers

  • X-API-KEY
    stringrequired
    Your secret API key for the environment you are calling (Stage and Live use different keys).
  • X-API-APP-ID
    stringrequired
    The App ID issued together with the key.
  • Content-Type
    stringrequired
    application/json

Body parameters

application/json
  • consent
    stringrequired
    Required. The end user's consent to this verification. Send `Y`.
    minLength 1default Y
  • consent_text
    stringrequired
    Required. The consent statement shown to the end user. Send the default text from the sample.
    minLength 1default I hear by declare my consent agreeme…
  • request_id
    stringoptional
    Optional. Your own id to correlate this call in your logs. A unique id is generated if you leave it out.
    nullable
  • rc_number
    stringrequired
    Required. Vehicle registration number: 2 letters, 1 or 2 digits, 1 to 3 letters, then 1 to 4 digits (for example GJ01AB1234). Trimmed and converted to uppercase.
    minLength 1pattern ^[A-Z]{2}[0-9]{1,2}[A-Z]{1,3}[0-9]{1,4}$default GJ01AB1234
  • chassis_number
    stringrequired
    Required. Chassis number of the vehicle. Trimmed and converted to uppercase.
    minLength 1default MA3EXAMPLE1234567
  • engine_number
    stringrequired
    Required. Engine number of the vehicle. Trimmed and converted to uppercase.
    minLength 1default ENG1234567890
  • state_only
    booleanoptional
    Optional. When true, restricts the search to the portals listed in state_portal.
    nullable
  • state_portal
    array<string>optional
    Optional. Array of state portal codes to search (for example DL, TS, KA, GJ).
    nullabledefault ["DL","TS","KA","GJ"]
Sample request body
{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "rc_number": "GJ01AB1234", "chassis_number": "MA3EXAMPLE1234567", "engine_number": "ENG1234567890", "state_portal": [ "DL", "TS", "KA", "GJ" ] }

Responses

200OK
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    objectoptional
    No description.
    2 fields
    • rc_number
      stringoptional
      No description.
      nullable
    • challan_details
      array<object>optional
      No description.
      nullable
      Each item: 15 fields
      • number
        integer (int32)optional
        No description.
        nullable
      • challan_number
        stringoptional
        No description.
        nullable
      • offense_details
        stringoptional
        No description.
        nullable
      • challan_place
        stringoptional
        No description.
        nullable
      • offense_details_list
        array<object>optional
        No description.
        nullable
        Each item: 1 field
        • offense_name
          stringoptional
          No description.
          nullable
      • challan_date
        stringoptional
        No description.
        nullable
      • challan_date_time
        string (date-time)optional
        No description.
        nullable
      • state
        stringoptional
        No description.
        nullable
      • rto
        stringoptional
        No description.
        nullable
      • accused_name
        stringoptional
        No description.
        nullable
      • amount
        stringoptional
        No description.
        nullable
      • challan_status
        stringoptional
        No description.
        nullable
      • court_challan
        booleanoptional
        No description.
        nullable
      • court_name
        stringoptional
        No description.
        nullable
      • upstream_code
        stringoptional
        No description.
        nullable
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
Example
{ "success": false, "statusCode": 200, "message": "XXXXX", "data": { "rc_number": "string", "challan_details": [ { "number": 0, "challan_number": "string", "offense_details": "string", "challan_place": "string", "offense_details_list": [ { "offense_name": "string" } ], "challan_date": "string", "challan_date_time": "2026-01-01T00:00:00Z", "state": "string", "rto": "string", "accused_name": "string", "amount": "string", "challan_status": "string", "court_challan": false, "court_name": "string", "upstream_code": "string" } ] }, "messages": [ "string" ], "request_id": "string", "isBillable": false }
400Bad Request
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 400
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 400 }
401Unauthorized
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 401
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 401 }
429Too Many Requests
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    anyoptional
    No description.
    nullable
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
Example
{ "success": false, "statusCode": 200, "message": "XXXXX", "data": null, "messages": [ "string" ], "request_id": "string", "isBillable": false }
500Internal Server Error
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 500
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 500 }
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/api/v1/rc/challan-basic' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "rc_number": "GJ01AB1234", "chassis_number": "MA3EXAMPLE1234567", "engine_number": "ENG1234567890", "state_portal": [ "DL", "TS", "KA", "GJ" ] }'
POST

/api/v1/rc/rc-to-mobile-number

#

Retrieve the mobile number associated with a vehicle registration number.

docs.signcare.io/core/api/rc-verification/rc-challan-details/#post-api-v1-rc-rc-to-mobile-number

This API endpoint allows you to retrieve the mobile number associated with a specific vehicle registration (RC) number. It provides a secure and efficient way to verify the connection between a vehicle and its registered owner's contact information, which is essential for various verification and authentication processes.

Key Benefits:

→ Instant verification of mobile numbers linked to vehicle registration.

→ Reduces manual verification efforts and associated costs.

→ Helps prevent fraud by confirming authentic vehicle-owner relationships.

→ Streamlines customer onboarding for automotive and insurance services.

Use Cases:

→ Vehicle ownership verification during used car transactions.

→ Service center appointment scheduling and customer verification.

→ Automated customer communication for vehicle maintenance alerts.

Request Body Parameters:

→ rc_number (required): Vehicle registration number (e.g. RJ14XJ1234). Any non-empty value is accepted by the API; send it without spaces.

Headers

  • X-API-KEY
    stringrequired
    Your secret API key for the environment you are calling (Stage and Live use different keys).
  • X-API-APP-ID
    stringrequired
    The App ID issued together with the key.
  • Content-Type
    stringrequired
    application/json

Body parameters

application/json
  • consent
    stringrequired
    Required. The end user's consent to this verification. Send `Y`.
    minLength 1default Y
  • consent_text
    stringrequired
    Required. The consent statement shown to the end user. Send the default text from the sample.
    minLength 1default I hear by declare my consent agreeme…
  • request_id
    stringoptional
    Optional. Your own id to correlate this call in your logs. A unique id is generated if you leave it out.
    nullable
  • rc_number
    stringrequired
    Required. Vehicle registration number (for example RJ14XJ1234). Any non-empty value is accepted; send it without spaces.
    minLength 1default RJ14XJ1234
Sample request body
{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "rc_number": "RJ14XJ1234" }

Responses

200OK
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    objectoptional
    No description.
    2 fields
    • rc_number
      stringoptional
      No description.
      nullable
    • mobile_number
      stringoptional
      No description.
      nullable
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
Example
{ "success": false, "statusCode": 200, "message": "XXXXX", "data": { "rc_number": "string", "mobile_number": "string" }, "messages": [ "string" ], "request_id": "string", "isBillable": false }
400Bad Request
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 400
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 400 }
401Unauthorized
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 401
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 401 }
429Too Many Requests
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    anyoptional
    No description.
    nullable
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
Example
{ "success": false, "statusCode": 200, "message": "XXXXX", "data": null, "messages": [ "string" ], "request_id": "string", "isBillable": false }
500Internal Server Error
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 500
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 500 }
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/api/v1/rc/rc-to-mobile-number' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "rc_number": "RJ14XJ1234" }'
POST

/api/v1/rc/mobile-to-rc

#

Retrieve RC numbers associated with a mobile number.

docs.signcare.io/core/api/rc-verification/rc-challan-details/#post-api-v1-rc-mobile-to-rc

This API endpoint allows you to retrieve the Registration Certificate (RC) numbers associated with a specific mobile number. It provides a convenient way to look up vehicle registration details when only the mobile number of the vehicle owner is available. The service performs a search across the vehicle registration database and returns all RC numbers linked to the provided mobile number.

Key Benefits:

→ Quickly verify vehicle ownership using just a mobile number.

→ Retrieve multiple RC numbers associated with a single mobile number.

→ Simplify vehicle verification processes for financial and insurance services.

→ Reduce manual data entry and potential errors in vehicle identification.

Use Cases:

→ Verify vehicle ownership during loan application processing.

→ Validate collateral information for vehicle-backed loans.

→ Streamline vehicle insurance policy issuance by confirming ownership details.

Request Body Parameters:

→ mobile_number (required): 10-digit mobile number, digits only, with no country code or spaces (e.g. 9876543210).

Headers

  • X-API-KEY
    stringrequired
    Your secret API key for the environment you are calling (Stage and Live use different keys).
  • X-API-APP-ID
    stringrequired
    The App ID issued together with the key.
  • Content-Type
    stringrequired
    application/json

Body parameters

application/json
  • consent
    stringrequired
    Required. The end user's consent to this verification. Send `Y`.
    minLength 1default Y
  • consent_text
    stringrequired
    Required. The consent statement shown to the end user. Send the default text from the sample.
    minLength 1default I hear by declare my consent agreeme…
  • request_id
    stringoptional
    Optional. Your own id to correlate this call in your logs. A unique id is generated if you leave it out.
    nullable
  • mobile_number
    stringrequired
    Required. 10-digit mobile number, digits only, with no country code or spaces (for example 9876543210).
    minLength 1pattern ^\d{10}$default 9876543210
Sample request body
{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "mobile_number": "9876543210" }

Responses

200OK
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    objectoptional
    No description.
    2 fields
    • rc_number
      array<string>optional
      No description.
      nullable
    • mobile_number
      stringoptional
      No description.
      nullable
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
Example
{ "success": false, "statusCode": 200, "message": "XXXXX", "data": { "rc_number": [ "string" ], "mobile_number": "string" }, "messages": [ "string" ], "request_id": "string", "isBillable": false }
400Bad Request
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 400
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 400 }
401Unauthorized
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 401
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 401 }
500Internal Server Error
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 500
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 500 }
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/api/v1/rc/mobile-to-rc' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "mobile_number": "9876543210" }'
POST

/api/v1/rc/rc-stolen

#

Verify whether a vehicle is reported as stolen using RC number.

docs.signcare.io/core/api/rc-verification/rc-challan-details/#post-api-v1-rc-rc-stolen

The RC Stolen Vehicle Verification API allows you to check whether a vehicle has been reported as stolen in India by verifying its Registration Certificate (RC) number against the national database. This API provides comprehensive details about stolen vehicles including FIR information, complainant details, vehicle specifications, and the location from where the vehicle was stolen.

This endpoint is essential for preventing fraud in vehicle transactions, ensuring compliance with legal requirements, and protecting businesses and individuals from unknowingly purchasing or dealing with stolen vehicles. The API returns real-time data from official police records, enabling instant verification during vehicle onboarding, purchase, financing, or insurance processes.

Key Benefits:

→ Fraud Prevention: Instantly verify if a vehicle is reported stolen before any transaction.

→ Comprehensive Data: Access detailed FIR information, vehicle specifications, and complainant details.

→ Real-time Verification: Get instant results from official police databases across India.

→ Risk Mitigation: Protect your business from legal complications and financial losses associated with stolen vehicles.

Use Cases:

→ Used Car Dealerships: Verify vehicles before purchase to ensure inventory legitimacy and protect business reputation.

→ Vehicle Marketplaces: Screen listings to prevent stolen vehicles from being sold on the platform.

→ Auto Auctions: Validate vehicles before auction to maintain platform integrity.

→ Fleet Management: Verify vehicles during procurement and periodic audits.

Request Body Parameters:

→ rc_number (required): Vehicle registration number: 2 letters, 1 or 2 digits, 1 to 3 letters, then 1 to 4 digits (e.g. GJ01RV8999). Spaces around the value are trimmed and lowercase is converted to uppercase. Bharat (BH) series numbers are not accepted.

Headers

  • X-API-KEY
    stringrequired
    Your secret API key for the environment you are calling (Stage and Live use different keys).
  • X-API-APP-ID
    stringrequired
    The App ID issued together with the key.
  • Content-Type
    stringrequired
    application/json

Body parameters

application/json
  • consent
    stringrequired
    Required. The end user's consent to this verification. Send `Y`.
    minLength 1default Y
  • consent_text
    stringrequired
    Required. The consent statement shown to the end user. Send the default text from the sample.
    minLength 1default I hear by declare my consent agreeme…
  • request_id
    stringoptional
    Optional. Your own id to correlate this call in your logs. A unique id is generated if you leave it out.
    nullable
  • rc_number
    stringrequired
    Required. Vehicle registration number: 2 letters, 1 or 2 digits, 1 to 3 letters, then 1 to 4 digits (for example GJ01AB1234). Trimmed and converted to uppercase.
    minLength 1pattern ^[A-Z]{2}[0-9]{1,2}[A-Z]{1,3}[0-9]{1,4}$default GJ01AB1234
Sample request body
{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "rc_number": "GJ01AB1234" }

Responses

200OK
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    objectoptional
    No description.
    2 fields
    • rc_number
      stringoptional
      No description.
      nullable
    • results
      array<object>optional
      No description.
      nullable
      Each item: 18 fields
      • rc_number
        stringoptional
        No description.
        nullable
      • fir_number
        stringoptional
        No description.
        nullable
      • state
        stringoptional
        No description.
        nullable
      • district
        stringoptional
        No description.
        nullable
      • fir_date
        stringoptional
        No description.
        nullable
      • police_station
        stringoptional
        No description.
        nullable
      • vehicle_type
        stringoptional
        No description.
        nullable
      • vehicle_make
        stringoptional
        No description.
        nullable
      • engine_number
        stringoptional
        No description.
        nullable
      • vehicle_model
        stringoptional
        No description.
        nullable
      • chassis_number
        stringoptional
        No description.
        nullable
      • vehicle_color
        stringoptional
        No description.
        nullable
      • phone_number
        stringoptional
        No description.
        nullable
      • complainant_name
        stringoptional
        No description.
        nullable
      • address
        stringoptional
        No description.
        nullable
      • stolen_from
        stringoptional
        No description.
        nullable
      • status
        stringoptional
        No description.
        nullable
      • report_date
        stringoptional
        No description.
        nullable
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
Example
{ "success": false, "statusCode": 200, "message": "XXXXX", "data": { "rc_number": "string", "results": [ { "rc_number": "string", "fir_number": "string", "state": "string", "district": "string", "fir_date": "string", "police_station": "string", "vehicle_type": "string", "vehicle_make": "string", "engine_number": "string", "vehicle_model": "string", "chassis_number": "string", "vehicle_color": "string", "phone_number": "string", "complainant_name": "string", "address": "string", "stolen_from": "string", "status": "string", "report_date": "string" } ] }, "messages": [ "string" ], "request_id": "string", "isBillable": false }
400Bad Request
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 400
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 400 }
401Unauthorized
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 401
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 401 }
500Internal Server Error
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 500
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 500 }
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/api/v1/rc/rc-stolen' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "rc_number": "GJ01AB1234" }'