High Courts Case Summarization And Risk Analysis API

TRANSFORM RAW HIGH COURTS CASE DETAILS INTO ACTIONABLE INSIGHTS WITH AI - GET CASE SUMMARIES, ORDER INSIGHTS, AND RISK ANALYSIS INSTANTLY FROM ANY INDIAN COURT USING THE CASE SUMMARISATION API.

Introduction

The High Court Case Summarisation API is an advanced AI layer built on top of High Court Case and Document APIs, designed to convert complex High Court data into clear, structured, and actionable insights. By providing the court/bench name and case registration number, the API fetches all available case details, orders, and judgments, analyzes them, and generates intelligent summaries and risk indicators in real time.

Key Features

AI Order Summaries: Concise summaries of each High Court order or judgment for quick understanding. Combined Order Summary: A single, unified summary covering the entire order and judgment history. Case Summary: A simplified narrative explaining the case background, progression, and key parties. Risk Assessment: A Risk Level (Very High to No Risk) and Risk Score (0–1000), where lower scores indicate higher litigation risk. Risk Summary: A clear explanation of the factors influencing the assigned risk score and level.

The High Court Case Summarisation API enables banks, NBFCs, insurers, legal tech platforms, compliance systems, and enterprises to instantly understand the nature, trajectory, and risk profile of any High Court case—without reading lengthy orders or judgments.

This API operates in asynchronous mode. Each case order or judgment document is individually fetched and uploaded to the Attestr CDN, ensuring reliable and continuous availability, followed by summarisation, analysis and case score generation. The total processing time may vary depending on the number of order documents linked to a given case. For detailed implementation guidance, please refer to the sections below. Webhooks are also supported for seamless automated response integration.

Get Free Trial

Create a free account Or “Talk to Us” for price information and other queries.

API Details

#1 - Initiate Request API

TypeURLCurrent Version
POSThttps://api.attestr.com/api/{version}/public/ecourtx/hc/cnr/summarizev2

Request Body Parameters

TypeNameDescriptionOptional (default)Min VersionMax Version
StringestablishmentCodeHigh court and bench in which the provided case number exists. Refer to the Establishment Codes Table below. Eg. SKHC01, TRHC01 etc.Requiredv2
StringregistrationNumber

Case number as registered in the specific court. This has the following format. CaseType/Reg.No/Year eg. Arb.A./234/2024, Crl.A/12/2025

Refer link to get complete list of supported case types for all the high courts.

Requiredv2
BooleanwebhookOptional field. Use this only if you have configured webhooks to receive updates after request is completed. Refer to webhooks section below for details.Optionalv2

Establishment Codes

Establishment CodeHigh Court NameBench Name
SKHC01High Court of SikkimPrincipal Bench
TRHC01High Court of TripuraPrincipal Bench
MLHC01High Court of MeghalayaPrincipal Bench
MNHC01High Court of ManipurPrincipal Bench
HPHC01High Court of Himachal PradeshPrincipal Bench
GAHC01The Gauhati High CourtPrincipal Seat at Guwahati
GAHC02The Gauhati High CourtKohima Bench
GAHC03The Gauhati High CourtAizawl Bench
GAHC04The Gauhati High CourtItanagar Bench
JKHC02High Court Of Jammu & KashmirJammu Wing
JKHC01High Court Of Jammu & KashmirSrinagar Wing
RJHC02Rajasthan High CourtRajasthan High Court Bench at Jaipur
RJHC01Rajasthan High CourtRajasthan High Court Principal Seat, Jodhpur
UPHC01Uttar Pradesh High CourtHigh Court of Judicature at Allahabad
UPHC05Uttar Pradesh High CourtHigh Court of Judicature at Allahabad
UPHC02Uttar Pradesh High CourtAllahabad High Court Lucknow Bench
CGHC01High Court of ChhattisgarhPrincipal Bench
JHHC01High Court of JharkhandPrincipal Bench
ODHC01High Court of OrissaPrincipal Bench
HBHC01High Court for the State of TelanganaPrincipal Bench
APHC01High Court of Andhra PradeshPrincipal Bench
GJHC24High Court of GujaratPrincipal Bench
KLHC01High Court of KeralaPrincipal Bench
UKHC01High Court of UttarakhandPrincipal Bench
HCMA01Madras (Tamilnadu) High CourtPrincipal Bench Of Madras High Court
HCMD01Madras (Tamilnadu) High CourtMadurai Bench of Madras High Court
WBCHCOCalcutta (West Bengal) High CourtOriginal Side
WBCHCJCalcutta (West Bengal) High CourtCircuit Bench At Jalpaiguri
WBCHCACalcutta (West Bengal) High CourtAppellate side
WBCHCPCalcutta (West Bengal) High CourtCircuit Bench At Port Blair
BRHC01The High Court of BiharPrincipal Bench
KAHC01High Court of KarnatakaPrincipal Bench at Bengaluru
KAHC03High Court of KarnatakaKalburagi Bench At Karnataka
KAHC02High Court of KarnatakaDharwad Bench At Karnataka
HCBM01High Court of MaharashtraAppellate Side,Bombay
HCBM02High Court of MaharashtraOriginal Side, Bombay
HCBM03High Court of MaharashtraBench At Aurangabad
HCBM04High Court of MaharashtraBench At Nagpur
HCBM05High Court of MaharashtraHigh Court of Bombay at Goa
HCBM06High Court of MaharashtraSpecial Court (TORTS) Bombay High Court
DLHC01High Court of DelhiPrincipal Bench
MPHC01High Court of Madhya PradeshPrincipal Seat Jabalpur
MPHC02High Court of Madhya PradeshBench at Indore
MPHC03High Court of Madhya PradeshBench at Gwalior
PHHC01High Court of Punjab and HaryanaPrincipal Bench at Chandigarh

Request Header Parameters

TypeNameValue / DescriptionOptionalMin VersionMax Version
StringContent-Typeapplication/jsonRequiredv2
StringAuthorizationBasic {authToken}Requiredv2

If you do not have the authentication token, please refer to Register App to generate one.

Sample Request Payload

JSON
Copy

Response

Http Status 200

Unique request ID is returned in the response from this API when a request for CNR download is made. This request ID is then used to query the results including the order document attachments. See Querying CNR Results section below for details.

KeyDescriptionTypeMin VersionMax Version
_idUnique request Id to be used later for querying the resultStringv2
numberUnique human readable number to be used for any reference laterStringv2

Sample Response

New Court Check Request Response
Copy

#2 - Querying Result API

TypeURLMin VersionMax Version
GEThttps://api.attestr.com/api/{version}/public/ecourtx/cnr/async/<asyncId>v2

Request URL Parameters

NameDescriptionMin VersionMax Version
asyncIdReplace <asyncId> in the URL with the _id received in the API abovev2

Request Header Parameters

TypeNameValue / DescriptionOptionalMin VersionMax Version
StringContent-Typeapplication/jsonRequiredv2
StringAuthorizationBasic {authToken}Requiredv2

Response

Http Status 200

KeyDescriptionTypeMin VersionMax Version
_idRequest Id as queried in the URLStringv2
numberRequest number as generated in the court search API responseStringv2
requestIdUnique ID used by Attestr for request tracing and report generation purposesStringv2
statusStatus of the request. Possible values are - COMPLETED, INITIATED, ERROREDStringv2
inputThe input object containing the CNR.Stringv2
outputCaseRecord output object. Details described below. Null if status is errored or initiated.CaseRecord Objectv2
errorError object if the operation ran into errors, null otherwise. Null if status is completed or initiated.Stringv2
createdUnix timestamp when the request was placed.Numberv2
updatedUnix timestamp when the request was last updated. Null if status is initiated.Numberv2
signatureSignature generated using the output and client secret. Used for validating the accuracy of data. Null if status is errored or initiated.Stringv2

CaseRecord Object

KeyDescriptionTypeMin VersionMax Version
riskScoreA numerical value (0–1000) indicating the litigation risk associated with a case. Lower scores represent higher risk, while higher scores denote safer profiles.Stringv2
riskLevelA categorical classification derived from the Risk Score — Very High, High, Moderate, Low, No Risk, or Unknown. It provides an at-a-glance understanding of the overall legal risk severity.Stringv2
riskSummaryA short AI-generated explanation describing why a specific risk level and score were assigned. It highlights key factors such as case type, order outcomes, frequency, and nature of proceedings.Stringv2
caseSummaryA concise AI-written overview of the entire case, explaining the background, events, parties, and progression. It helps users quickly understand what the case is about without reading full court documents.Stringv2
caseTypeCase type as registeredStringv2
filingNumberFile number assigned to the case eg 362/2018Stringv2
filingDateCase filing dateStringv2
filingYearFiling year if availableStringv2
registrationNumberCase registration number eg 362/2018Stringv2
registrationDateDate of registration of the caseStringv2
cnrNumberUnique case identification numberStringv2
stateCourt state where case is registeredStringv2
districtCourt district where case is registeredStringv2
courtNameName of the court eg Junior Civil Judge CourtStringv2
courtNumberAndJudgeCourt number and judge info if available. Eg. 2-Additional Junior Civil JudgeStringv2
courtEstablishmentCourt complex / establishment name where the case is being contestedStringv2
firstHearingDateDate of first hearing of the caseStringv2
nextHearingDateNext hearing date if case is in pending state. For disposed cases this could be empty.Stringv2
caseStageCurrent stage of the case. Eg. BAIL HEARING etc.Stringv2
decisionDateDate of decision if the case stands disposed.Stringv2
natureOfDisposalType of disposal, contested, uncontested etc if the case is disposed.Stringv2
caseStatusCase status - Pending, Disposed etc.Stringv2
coramGenerally applies to Hon'able High courts, indicates the number of judges on the bench Eg, 1760 HONOURABLE MR. JUSTICE KALYAN RAI SURANAStringv2
judicialJudicial section information generally available for higher courts only e.g Criminal SectionStringv2
causeListNameName of the cause list if availableStringv2
benchApplicable for higher courts. Name of the bench that heard the case. eg Single BenchStringv2
shortOrderShort order if put up for hearing on another dateStringv2
petitioners

List of petitioners as mentioned in the case. Each petitioner has the following fields.

petitionerName - Name of the petitioner petitionerCounsel- Name of the advocate / counsel if available

Arrayv2
petitionersTextAll the petitioners's information combined in one long text format.Stringv2
respondents

List of respondents as mentioned in the case. Each respondent in the list has the following fields.

respondentName - Name of the respondent respondentCounsel - Counsel or the advocate name for the respondent

Arrayv2
respondentsTextAll the respondent's information combined in one long text formatStringv2
acts

List of Acts and corresponding sections as applicable to this case. Each entry in the list has the following structure.

act - Name of the act as applied to the case sections - Applied sections from the corresponding act.

Arrayv2
interlocutoryApplicationDetails

List of any interlocutory petitions/applications (IA) filed. An IA is generally filed in existing legal proceedings to request interim relief. Each item in the list has the following structure.

number IA file number party Party name and counsel that filed IA filingDate Date of filing of the IA application nextDate Next date as applicable status Status of the application - approved, rejected, in hearing etc.

Null if the details are not available

Arrayv2
caseHistory

History of case hearings. This is a list, each item in the list has the following structure.

reg - Registration number if available causeListType - Cause list name generally applicable for higher courts only judge - Judge / bench that heard the case. purpose - Purpose of hearing nextHearingDate - Date of next hearing as assigned businessDate - Date of hearing businessDescription - A brief description of what happened during this hearing adjournmentReason - Reason if the hearing was adjourned.

Arrayv2
ordersList of order and judgements if available. Each order in the list has the following structure - number - Order number orderDate - Date on which the order was issued judge - Judge / bench that issued the order attachment - Publicly viewable link of Case order and Judgments hosted on Attestr CDN orderSummary - Summarised explanation of the order documentArrayv2
objectionsList of any objections raised by either of the parties during the trial. Each objection has the following structure. number - Objection number objection - Objection title / description scrutinyDate - Date of scrutiny as assigned for the object complianceDate - Compliance date if any receiptDate - Date of receipt of the scrutinyArrayv2
categoryCategory of the case generally applies to the higher courts. Eg. 10266 - Bail Application Under section 439 Cr. P. C ( 308 )Stringv2
subCategorySub category if applicableStringv2
subSubCategoryFurther division under the sub category if applicableStringv2
firDetails of FIR if any mapped to this case. The FIR object has the following structure. state - State where the police station is located district - District where the police station is located policeStation - Name of the police station number - FIR number year - Date or year in which FIR is filedObjectv2
lowerCourtLower court information if applicable. It has the following structure - courtNumberAndName - Name of the lower court caseNumberAndYear - Case number as year as registered in the lower court state - State where lower court is located district - District where lower court is locatedObjectv2
documentsList of documents as filed by the counsels in the case. Each document object has the following structure. docNumber - Document number as assigned at the time of filing docName - Name of the document filed advocate - Counsel name who filed the document receivingDate - Date of receiving as registered in the court records filedBy - Party nameArrayv2
linkedCasesCase linked to the provided case. Each linked case object has the following structure. filingNumber - Linked case filing number caseNumber - Linked case numberArrayv2
transfersList of transfers to other courts if any. Each transfer object has the following structure. reg - Registration no transferred - Date of transfer from - Source court name to - Destination court nameArrayv2
combinedOrderSummaryProvides a unified summary of all orders to give a complete picture of sequence of events.

Sample Response

Sample response for valid case details

JSON
Copy

Sample response for invalid case number / data does not exist

JSON
Copy

#3 - Case PDF Download API

TypeURLMin VersionMax Version
GEThttps://api.attestr.com/api/{version}/public/instachecks/report/pdf?scope=checkx-pdf&xAttestrId=<requestId>&service=CNR_SUMMARIZEv2

Request URL Parameters

NameDescriptionMin VersionMax Version
asyncIdReplace <requestId> in the URL from the requestId in the output of Querying CNR Result API.v2

Request Header Parameters

TypeNameValue / DescriptionOptionalMin VersionMax Version
StringContent-Typeapplication/jsonRequiredv2
StringAuthorizationBasic {authToken}Requiredv2

Response

Http Status 200

PDF of the case record. All the order and judgment documents are provided as an Annexure in the this PDF for easy access.

Sample response

Error Response

ParameterTypeDescription
codeNumberUnique error codes for different errors. Always available.
messageStringError message describing the error. Always Available.
detailsStringDetail error message. Available only for certain types of errors.

Error Codes

HTTP StatusError CodeError Message
4004001Malformed data or missing required parameter values
4004005Operation could not be performed due to low credits balance
4014016Invalid client authorization
4034031Unauthorized access
4034035Requested service is not provisioned for your account
4034039Client's IP address is not whitelisted
4034035Requested service is not provisioned for your account
4294291Maximum account rate limit exceeded
4294292Maximum API rate limit exceeded
4294293Maximum account daily limit exceeded
4294294Maximum API daily limit exceeded
5005001Request could not be processed

Sample Error Response

JSON
Copy

Webhooks

Court record check supports the following two webhook events.

See Webhooks for more details on how to register webhooks.

  1. async.completed
  2. async.errored

To enable webhooks, the API input parameter webhook must be set as true while initiating the request.

Webhook Event Payload

KeyTypeDescriptionMin VersionMax Version
_idStringID of the async request. This is same as received in the output of Person / Business search API as described above.v1
requestIdStringUnique request ID for internal tracing purposes.v1
statusStringOne of COMPLETED OR ERROREDv1
outputObjectCNR Record output object same as output key described in Querying CNR Result API above.v1
errorObjectError object if the court checks runs into errors. The structure of this is same as the Error Response object described above.v1
signatureStringgenerated using hmacHexDigest of output object and client secret. Null if status is errored.v1

Get Free Trial

Create a free account Or “Talk to Us” for price information and other queries.

Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard