> For the complete documentation index, see [llms.txt](https://docs.fill-easy.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fill-easy.com/models.md).

# Models

## The Document object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"Document":{"type":"object","required":["category","companyId","documentName"],"properties":{"category":{"type":"string","description":"Document category (e.g., Annual Return & Accounts, Directors & Company Secretaries)","enum":["Incorporation & Registration","Annual Return & Accounts","Directors & Company Secretaries","Registered Office & Name Changes","Share Capital","Charges","Articles of Association","Deregistration & Liquidation","Amalgamation","Open-Ended Fund Companies","Limited Partnership Funds","Rectification & Administration","Annual Return / Financial Statements","Articles of Association / Members","Auditors","Change of Company Name","Deregistration","Directors and Company Secretary","Incorporation of Local Companies","Inspectors","Mortgage & Charges","Re-domiciliation","Registered Foreign Companies","Registered Offices and Location of Registers","Registration of Eligible Companies","Re-Registration","Share Acquisition or Buy-back/Share Certificates","Receivership","Winding Up","Others"]},"documentYear":{"type":"string","description":"Accounting year (for annual returns)"},"documentName":{"type":"string","description":"English name of the document"},"pages":{"type":"string","description":"Number of pages"},"filingDate":{"type":"string","format":"date","description":"Filing date (YYYY-MM-DD format), can be date of processing or date filed depending on country"},"documentId":{"type":"string","description":"Unique document identifier"},"companyId":{"type":"string","description":"Company ID"},"hasLinked":{"type":"boolean","description":"Whether the document has linked files"},"description":{"type":"object","description":"Additional useful info regarding the document","additionalProperties":{"type":"string"}}}}}}}
```

## The Country object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"Country":{"type":"object","required":["name","code","region","status","sourceLanguage","search","contents","documentTypes","defaultDocumentType"],"properties":{"name":{"type":"string","description":"Country name"},"code":{"type":"string","description":"[ISO 3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) country code."},"region":{"type":"string","description":"Geographic region"},"sourceLanguage":{"type":"string","description":"ISO 639-1 language code for the source language of documents"},"status":{"type":"string","enum":["automated","manual"],"description":"Whether the country is fully automated or requires manual processing"},"search":{"type":"object","required":["documents","companies","company"],"properties":{"documents":{"type":"boolean","description":"Whether document search is available"},"companies":{"type":"boolean","description":"Whether company name search is available"},"company":{"type":"boolean","description":"Whether company ID lookup is available"}}},"contents":{"type":"object","required":["registration","shareholder","financial"],"properties":{"registration":{"type":"boolean","description":"Whether registration information is available"},"shareholder":{"type":"boolean","description":"Whether shareholder information is available"},"financial":{"type":"boolean","description":"Whether financial information is available"}}},"defaultDocumentType":{"type":"string","description":"The document type used when `documentType` is omitted from a `/cra/request` call.\nAlways matches one of the `name` values in `documentTypes`.\n"},"documentTypes":{"type":"array","description":"Available document types for this country","items":{"type":"object","required":["name","contents","source"],"properties":{"name":{"type":"string","description":"Document type name"},"aliases":{"type":"array","description":"Alternative names for the document type. Not allowed into the documentType field of `/cra/request`"},"contents":{"type":"array","items":{"$ref":"#/components/schemas/DocumentContents"},"description":"List of content fields included in this document type"},"source":{"type":"string","description":"Source of the document"},"sampleUrl":{"type":"string","format":"uri","description":"URL to a sample document"},"retrievalRequiresDocumentId":{"type":"boolean","description":"When true, the `documentId` field is required in `/cra/request` for this document type"},"retrievalRequiresDocumentYear":{"type":"boolean","description":"When true, the `documentYear` field is required in `/cra/request` for this document type"},"retrievalSupportsDocumentYear":{"type":"boolean","description":"When true, the `documentYear` field is accepted but optional in `/cra/request` for this document type"}}}}}},"DocumentContents":{"type":"string","description":"Granular data points available in a company registry document","enum":["Company Name","Unique Identifier","Date of Incorporation","Company Type","Registered Office Address","Company Status","Status Date","Jurisdiction","Authorized Capital","Paid-Up Capital","Share Information","Shareholder Name","Ownership Ratio","Ownership Volume","Director Name","Director Position","Director Nationality","Registered Agent","Registered Agent Contact","Filing History","Branches and Subsidiaries","Insolvency Information","Notary Name","Notary Deed Number","Notary Deed Date","Business Activities","Subscribed Capital","Commissioner Name","Commissioner Position","Business Capital","Owner Name","Owner Position","Beneficial Owner Name","Beneficial Owner Criteria","Financial Statement","Company Secretary","Mortgages and Charges","Court Judgments","Writs of Summons","Court Hearings"]}}}}
```

## The Error object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Error message"}}}}}}
```

## The DocumentContents object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"DocumentContents":{"type":"string","description":"Granular data points available in a company registry document","enum":["Company Name","Unique Identifier","Date of Incorporation","Company Type","Registered Office Address","Company Status","Status Date","Jurisdiction","Authorized Capital","Paid-Up Capital","Share Information","Shareholder Name","Ownership Ratio","Ownership Volume","Director Name","Director Position","Director Nationality","Registered Agent","Registered Agent Contact","Filing History","Branches and Subsidiaries","Insolvency Information","Notary Name","Notary Deed Number","Notary Deed Date","Business Activities","Subscribed Capital","Commissioner Name","Commissioner Position","Business Capital","Owner Name","Owner Position","Beneficial Owner Name","Beneficial Owner Criteria","Financial Statement","Company Secretary","Mortgages and Charges","Court Judgments","Writs of Summons","Court Hearings"]}}}}
```

## The Token object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"Token":{"type":"string","pattern":"^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$","description":"JWT token"}}}}
```

## The IamSmartSource object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"IamSmartSource":{"type":"string","description":"The device platform and browser combination","enum":["PC_Browser","android","iOS","Android_Chrome","Android_Firefox","Android_Edge","Android_Samsung","Android_Huawei","Android_Xiaomi","iOS_Safari","iOS_Chrome","iOS_Firefox","iOS_Edge","iOS_IMS_InAppBrowser","Android_IMS_InAppBrowser"]}}}}
```

## The IamSmartScope object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"IamSmartScope":{"type":"string","description":"Setting the scope is required only in cases where operations are chained, e.g auth + formfilling, auth + signing.\nBy default, the scope is set to the value required for the operation.\nRequested scope of authorization based on available services.\nMultiple scopes should be space-separated. Valid scopes are:\neidapi_auth, eidapi_profiles, eidapi_formFilling, eidapi_sign, eidapi_fr, eidapi_bulksign\n","pattern":"^(eidapi_auth|eidapi_profiles|eidapi_formFilling|eidapi_sign|eidapi_fr|eidapi_bulksign)(\\s+(eidapi_auth|eidapi_profiles|eidapi_formFilling|eidapi_sign|eidapi_fr|eidapi_bulksign))*$"}}}}
```

## The IamSmartLanguage object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"IamSmartLanguage":{"type":"string","description":"iAM Smart App display language\n","enum":["en-US","zh-HK","zh-CN"],"default":"en-US"}}}}
```

## The IamSmartActivityClass object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"IamSmartActivityClass":{"type":["string","null"],"description":"Android activity class (required if source is android)"}}}}
```

## The IamSmartActivityParams object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"IamSmartActivityParams":{"type":["string","null"],"description":"Additional activity parameters (optional if source is android)"}}}}
```

## The RedirectUri object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"RedirectUri":{"type":"string","description":"Redirect URI after user authorization.\n\nBrowser: HTTPS URL to your website.\n\niOS: HTTPS Universal link\n\nAndroid: Package name (com.filleasy.app)\n"}}}}
```

## The FormData object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"FormData":{"type":"object","properties":{"formName":{"type":"string","description":"Form title displayed to user in iAM Smart app","maxLength":100},"formNum":{"type":"string","description":"Form reference code","maxLength":50},"formDesc":{"type":"string","description":"Form description displayed to user","maxLength":500},"formFields":{"type":"array","description":"Detail fields to request from user","items":{"type":"string","enum":["idNo","enName","chName","gender","prefix","maritalStatus","homeTelNumber","officeTelNumber","mobileNumber","emailAddress","residentialAddress","postalAddress","educationLevel","addressDocInfo","addressDocFile"]}}}}}}}
```

## The ProfileFields object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"ProfileFields":{"type":"array","description":"Mandatorily obtain specific profile fields.\nNote: You must display a consent page per iAM Smart UI/UX requirements when using these fields.\nIf fields overlap between `profileFields` and `formData.formFields`, `profileFields` takes precedence.\n","items":{"type":"string","enum":["idNo","enName","chName","birthDate","gender"]}}}}}
```

## The BatchReport object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"BatchReport":{"type":"object","description":"Aggregate result of a batch request. Returned by `/cra/batch/poll` (200) and sent as the `data`\nfield of the `cra.batch.completed` / `cra.batch.partial` webhook.\n","required":["batchId","status","countryCode","companyId","companyName","summaryRequired","summary","companyData","documents"],"properties":{"batchId":{"type":"string"},"status":{"type":"string","description":"- `completed`: every order was retrieved.\n- `partial`: the batch is delivered but one or more orders were cancelled.\n- `processing`: not yet ready (only on `/cra/batch/poll` 202-equivalents).\n","enum":["completed","partial","processing"]},"countryCode":{"type":"string","pattern":"^[A-Z]{2}$"},"companyId":{"type":["string","null"]},"companyName":{"type":["string","null"]},"summaryRequired":{"type":"boolean"},"summary":{"type":"object","description":"The generated summary PDF.","required":["status"],"properties":{"status":{"type":"string","enum":["ready","processing","not_applicable"]},"url":{"type":"string","format":"uri","description":"Presigned URL to download the summary PDF (only when `ready`). Valid for 7 days."},"fileName":{"type":"string","description":"Suggested file name — \"<company name>_Summary.pdf\"."}}},"companyData":{"type":["object","null"],"description":"Structured company data — the company-particulars order's unified JSON — when one of the\norders produced it. `null` otherwise.\n"},"documents":{"type":"array","description":"Per-order document status.","items":{"type":"object","required":["requestId","status","originalDocuments"],"properties":{"requestId":{"type":"string","description":"The child request ID for this order."},"documentType":{"type":"string"},"documentYear":{"type":["string","number"]},"status":{"type":"string","description":"- `ready`: document retrieved and available.\n- `processing`: still being retrieved/processed.\n- `manual`: awaiting manual upload or resolution.\n- `cancelled`: order was cancelled and dropped from the batch.\n","enum":["ready","processing","manual","cancelled"]},"originalDocuments":{"type":"array","description":"Downloadable files for this order — the original and, when one was produced, the\ntranslation. Empty until the order's `status` is `ready`.\n","items":{"type":"object","required":["type","status"],"properties":{"type":{"type":"string","enum":["original","translated"]},"status":{"type":"string","enum":["ready","processing","not_applicable"]},"url":{"type":"string","format":"uri","description":"Presigned URL (7 days), only when `ready`."},"fileName":{"type":"string","description":"Suggested file name — company name, document type and year when available."}}}}}}}}}}}}
```

## The WebhookPayload object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"WebhookPayload":{"type":"object","description":"Envelope sent as the JSON body of webhook `POST` requests to your `callbackUrl`.\n","required":["event","requestId","timestamp","data"],"properties":{"event":{"type":"string","description":"Event identifier.\n","enum":["cra.report.partial","cra.report.completed","cra.batch.completed","cra.batch.partial","lra.report.completed","kyc.cn.report.completed","ocr.verification.completed"]},"requestId":{"type":"string","description":"The request ID associated with this report. For batch events this is the batch ID (`BAT_...`)."},"timestamp":{"type":"string","format":"date-time","description":"ISO 8601 timestamp of when the webhook was sent."},"data":{"type":"object","description":"The report payload. Identical to the `200` response body of the\ncorresponding poll endpoint (`/cra/poll`, `/cra/batch/poll`, `/lra/poll`, `/kyc/cn/poll`,\nor `/ocr/poll`).\n"}}}}}}
```

## The OcrResult object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"OcrResult":{"type":"object","description":"Verification decision returned by `/ocr/poll` (200) and as the `data` field of\nthe `ocr.verification.completed` webhook. `status` carries the terminal verdict.\n`identity`, `faceMatch`, and `liveness` are present only when the upstream\ncheck produced data — for example, a `Declined` outcome with no captured\ndocument may return only `status`.\n","required":["status"],"properties":{"status":{"type":"string","enum":["Approved","Declined","In Review","Kyc Expired"],"description":"Terminal verdict from the verification provider."},"identity":{"type":"object","description":"Extracted ID document fields.","properties":{"firstName":{"type":"string"},"lastName":{"type":"string"},"fullName":{"type":"string"},"dateOfBirth":{"type":"string"},"documentNumber":{"type":"string"},"documentType":{"type":"string"},"issuingCountry":{"type":"string","description":"ISO 3166-1 alpha-3 code."},"gender":{"type":"string"},"dateOfIssue":{"type":"string"},"expirationDate":{"type":"string"}}},"faceMatch":{"type":"object","description":"1:1 face match between the selfie capture and the ID portrait.","properties":{"score":{"type":"number","description":"Similarity 0-100 (higher is a closer match)."}}},"liveness":{"type":"object","description":"Passive liveness check on the selfie capture.","properties":{"score":{"type":"number","description":"Confidence 0-100 that the subject is a live person."},"method":{"type":"string"}}}}}}}}
```

## The Company object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"Company":{"required":["companyId","companyName","idType","registrationDetails"],"type":"object","description":"Company information returned from the Companies Registry search","properties":{"companyId":{"type":"string","description":"Unique company identifier used in subsequent API calls.\nFor Hong Kong: Business Registration Number (BRN) - an 8-digit number.\nFor Australia: Australian Company Number (ACN).\nFor Singapore: Unique Entity Number (UEN).\n"},"idType":{"type":"string","description":"Type of company identifier returned.\n- \"BRN\" - Business Registration Number (Hong Kong)\n- \"ACN\" - Australian Company Number (Australia)\n- \"UEN\" - Unique Entity Number (Singapore)\n- \"CIN\" - Corporate Identification Number (India)\n- \"FCRN\" - Foreign Company Registration Number (India)\n- \"LLPIN\" - Limited Liability Partnership Identification Number (India)\n- \"FLLPIN\" - Foreign LLP Identification Number (India)\n- \"Unavailable\" - When the country does not provide a company ID\n"},"companyName":{"type":"string","description":"Official registered company name (in English or Chinese depending on the search)"},"localName":{"type":"string","description":"Name of the company in local language (if applicable and different from companyName)"},"status":{"type":"string","enum":["Live","Distressed","Dissolved"],"description":"Current active status of the company.\n- \"Live\" - Company is currently active and in good standing\n- \"Distressed\" - Company is undergoing liquidation, insolvency proceedings, or striking-off process\n- \"Dissolved\" - Company has been dissolved/deregistered\n"},"nameType":{"type":"string","enum":["current","old"],"description":"Indicates whether the returned name is the current or a previous name.\n- \"current\" - This is the company's current registered name\n- \"old\" - This is a previous/historical name of the company\n"},"address":{"type":"string","description":"Registered address of the company (when available)"},"state":{"type":"string","description":"State or province of the company's registered office (when available)"},"registrationDetails":{"type":"array","description":"A list of attributes defining the company's legal structure, registration category, or public/private status as defined by the local jurisdiction.","items":{"$ref":"#/components/schemas/registrationDetail"}},"dissolutionDate":{"type":"string","format":"date","description":"Date of dissolution (YYYY-MM-DD format, empty string if not dissolved)"},"incorporationDate":{"type":"string","format":"date","description":"Date of incorporation/registration (YYYY-MM-DD format)"},"remarks":{"type":"string","description":"Any remarks or notes about the company"},"nameHistory":{"type":"array","description":"Historical company names (previous names the company has used)","items":{"type":"object","properties":{"companyName":{"type":"string","description":"English company name"},"localName":{"type":"string","description":"Chinese company name (if available)"},"effectiveDate":{"type":"string","format":"date","description":"Date when this name became effective (YYYY-MM-DD format)"}}}}}},"registrationDetail":{"type":"string","description":"Legal classification or entity type identifier. \nProvides details about a company based on its incorporation structure (e.g., Limited by Shares) or its regulatory category (e.g., Private vs. Public) according to the relevant national companies legislation.\n","enum":["Corporation","Company Limited by Shares","Registered Non-Hong Kong Company","Company Limited by Guarantee","Limited Company","Limited Liability Company","Unlimited Company","Registered Society/Organization","Open-ended Fund Company","Open-ended Investment Company","Limited Partnership Fund","Public Company","Private Company","Foreign Company","Foreign Company Branch","Registered Overseas Entity","Registered Australian Corporation under non-Corporations Law","Company Limited by Both Shares and Guarantees","No Liability Company","Sole Proprietorship/ Partnership","Sole Proprietorship","Limited Liability Partnership","Limited Partnership","Unlimited Partnership","Local Company","Juristic Ordinary Partnership","Foreign Juristic Person","Joint Venture","Chamber of Commerce","Private Limited by Guarantee (Section 60 Exemption)","Assurance Company","European Economic Interest Grouping","Royal Charter Body","United Kingdom Societas","United Kingdom Economic Interest Grouping","Charitable Incorporated Organisation","Educational Corporation","Government Body","General Partnership Company","Limited Partnership Company","Special Registered Corporation","One Person Company","Section 8 Company","Nidhi Company","Producer Company","IFSC Company","Partnership","Entity Registered Under Myanmar Companies Act 1914","Economic Interest Grouping","Civil Company","Other","N/A"]}}}}
```

## The registrationDetail object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"registrationDetail":{"type":"string","description":"Legal classification or entity type identifier. \nProvides details about a company based on its incorporation structure (e.g., Limited by Shares) or its regulatory category (e.g., Private vs. Public) according to the relevant national companies legislation.\n","enum":["Corporation","Company Limited by Shares","Registered Non-Hong Kong Company","Company Limited by Guarantee","Limited Company","Limited Liability Company","Unlimited Company","Registered Society/Organization","Open-ended Fund Company","Open-ended Investment Company","Limited Partnership Fund","Public Company","Private Company","Foreign Company","Foreign Company Branch","Registered Overseas Entity","Registered Australian Corporation under non-Corporations Law","Company Limited by Both Shares and Guarantees","No Liability Company","Sole Proprietorship/ Partnership","Sole Proprietorship","Limited Liability Partnership","Limited Partnership","Unlimited Partnership","Local Company","Juristic Ordinary Partnership","Foreign Juristic Person","Joint Venture","Chamber of Commerce","Private Limited by Guarantee (Section 60 Exemption)","Assurance Company","European Economic Interest Grouping","Royal Charter Body","United Kingdom Societas","United Kingdom Economic Interest Grouping","Charitable Incorporated Organisation","Educational Corporation","Government Body","General Partnership Company","Limited Partnership Company","Special Registered Corporation","One Person Company","Section 8 Company","Nidhi Company","Producer Company","IFSC Company","Partnership","Entity Registered Under Myanmar Companies Act 1914","Economic Interest Grouping","Civil Company","Other","N/A"]}}}}
```

## The LitigationStats object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"LitigationStats":{"type":"object","description":"Aggregated counts and amounts for a litigation category (or all categories,\nwhen used as the `overall` block). Counts are case counts; amounts are in CNY.\n","required":["total"],"properties":{"total":{"type":"integer","description":"Total cases."},"open":{"type":"integer","description":"Open (unresolved) cases."},"closed":{"type":"integer","description":"Closed cases."},"asPlaintiff":{"type":"integer","description":"Cases where the subject was the plaintiff."},"asDefendant":{"type":"integer","description":"Cases where the subject was the defendant."},"asThirdParty":{"type":"integer","description":"Cases where the subject was a third party."},"totalAmount":{"type":"number","description":"Total monetary amount involved (CNY)."},"openAmount":{"type":"number","description":"Amount tied to open cases (CNY)."},"closedAmount":{"type":"number","description":"Amount tied to closed cases (CNY)."},"causeDistribution":{"type":"string","description":"Distribution of case causes, formatted by upstream as `Cause(count), Cause(count)`."},"locationDistribution":{"type":"string","description":"Distribution by case location."},"yearDistribution":{"type":"string","description":"Distribution by filing year."},"closingMethodDistribution":{"type":"string","description":"Distribution by closing method (e.g. judgment, mediation)."}}}}}}
```

## The LitigationParty object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"LitigationParty":{"type":"object","required":["name","role","type"],"properties":{"name":{"type":"string"},"role":{"type":"string","description":"Litigation status (e.g. Plaintiff, Defendant, Person Subject to Application, Third Party)."},"type":{"type":"string","description":"Party type (e.g. Natural Person, Enterprise Organization)."}}}}}}
```

## The LitigationCase object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"LitigationCase":{"type":"object","description":"A single litigation record. Always includes the structural fields (case number,\ncourt, stage, parties). Optional fields are present only when the upstream service\nreturns them — criminal-specific fields (`charges`, `crimeAmount`) are absent for\nnon-criminal cases.\n","required":["caseType","caseNumber","court","courtLevel","stage","procedure","location","cause","partyRole","parties"],"properties":{"caseType":{"type":"string","description":"Case type label (e.g. `Civil First Instance`, `Criminal First Instance`, `Property Preservation Execution`)."},"caseNumber":{"type":"string"},"court":{"type":"string"},"courtLevel":{"type":"string","description":"Court level (Basic Court / Intermediate / High / Supreme)."},"stage":{"type":"string","description":"Case progress stage as returned by upstream (e.g. `Open`, `Closed`)."},"procedure":{"type":"string","description":"Trial procedure (First Instance, Second Instance, Retrial, Execution)."},"location":{"type":"string"},"cause":{"type":"string"},"partyRole":{"type":"string","description":"Subject's role in this case."},"parties":{"type":"array","items":{"$ref":"#/components/schemas/LitigationParty"}},"filingDate":{"type":"string","format":"date"},"closingDate":{"type":"string","format":"date"},"causeDetail":{"type":"string","description":"Full cause taxonomy path (comma-delimited from broad to specific)."},"closingMethod":{"type":"string","description":"How the case was closed (Judgment, Mediation, Withdrawal, etc.)."},"amount":{"type":"number","description":"Closing subject amount (CNY)."},"victoryEstimate":{"type":"string","description":"Upstream estimate of the subject's outcome (Won / Lost / Partial / Unknown)."},"charges":{"type":"string","description":"Criminal charges (criminal cases only)."},"chargesDetail":{"type":"string","description":"Full charge taxonomy path (criminal cases only)."},"crimeAmount":{"type":"number","description":"Crime amount (criminal cases only, CNY)."}}},"LitigationParty":{"type":"object","required":["name","role","type"],"properties":{"name":{"type":"string"},"role":{"type":"string","description":"Litigation status (e.g. Plaintiff, Defendant, Person Subject to Application, Third Party)."},"type":{"type":"string","description":"Party type (e.g. Natural Person, Enterprise Organization)."}}}}}}
```

## The LitigationCategory object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"LitigationCategory":{"type":"object","required":["cases","stats"],"properties":{"cases":{"type":"array","items":{"$ref":"#/components/schemas/LitigationCase"}},"stats":{"$ref":"#/components/schemas/LitigationStats"}}},"LitigationCase":{"type":"object","description":"A single litigation record. Always includes the structural fields (case number,\ncourt, stage, parties). Optional fields are present only when the upstream service\nreturns them — criminal-specific fields (`charges`, `crimeAmount`) are absent for\nnon-criminal cases.\n","required":["caseType","caseNumber","court","courtLevel","stage","procedure","location","cause","partyRole","parties"],"properties":{"caseType":{"type":"string","description":"Case type label (e.g. `Civil First Instance`, `Criminal First Instance`, `Property Preservation Execution`)."},"caseNumber":{"type":"string"},"court":{"type":"string"},"courtLevel":{"type":"string","description":"Court level (Basic Court / Intermediate / High / Supreme)."},"stage":{"type":"string","description":"Case progress stage as returned by upstream (e.g. `Open`, `Closed`)."},"procedure":{"type":"string","description":"Trial procedure (First Instance, Second Instance, Retrial, Execution)."},"location":{"type":"string"},"cause":{"type":"string"},"partyRole":{"type":"string","description":"Subject's role in this case."},"parties":{"type":"array","items":{"$ref":"#/components/schemas/LitigationParty"}},"filingDate":{"type":"string","format":"date"},"closingDate":{"type":"string","format":"date"},"causeDetail":{"type":"string","description":"Full cause taxonomy path (comma-delimited from broad to specific)."},"closingMethod":{"type":"string","description":"How the case was closed (Judgment, Mediation, Withdrawal, etc.)."},"amount":{"type":"number","description":"Closing subject amount (CNY)."},"victoryEstimate":{"type":"string","description":"Upstream estimate of the subject's outcome (Won / Lost / Partial / Unknown)."},"charges":{"type":"string","description":"Criminal charges (criminal cases only)."},"chargesDetail":{"type":"string","description":"Full charge taxonomy path (criminal cases only)."},"crimeAmount":{"type":"number","description":"Crime amount (criminal cases only, CNY)."}}},"LitigationParty":{"type":"object","required":["name","role","type"],"properties":{"name":{"type":"string"},"role":{"type":"string","description":"Litigation status (e.g. Plaintiff, Defendant, Person Subject to Application, Third Party)."},"type":{"type":"string","description":"Party type (e.g. Natural Person, Enterprise Organization)."}}},"LitigationStats":{"type":"object","description":"Aggregated counts and amounts for a litigation category (or all categories,\nwhen used as the `overall` block). Counts are case counts; amounts are in CNY.\n","required":["total"],"properties":{"total":{"type":"integer","description":"Total cases."},"open":{"type":"integer","description":"Open (unresolved) cases."},"closed":{"type":"integer","description":"Closed cases."},"asPlaintiff":{"type":"integer","description":"Cases where the subject was the plaintiff."},"asDefendant":{"type":"integer","description":"Cases where the subject was the defendant."},"asThirdParty":{"type":"integer","description":"Cases where the subject was a third party."},"totalAmount":{"type":"number","description":"Total monetary amount involved (CNY)."},"openAmount":{"type":"number","description":"Amount tied to open cases (CNY)."},"closedAmount":{"type":"number","description":"Amount tied to closed cases (CNY)."},"causeDistribution":{"type":"string","description":"Distribution of case causes, formatted by upstream as `Cause(count), Cause(count)`."},"locationDistribution":{"type":"string","description":"Distribution by case location."},"yearDistribution":{"type":"string","description":"Distribution by filing year."},"closingMethodDistribution":{"type":"string","description":"Distribution by closing method (e.g. judgment, mediation)."}}}}}}
```

## The LitigationJudgment object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"LitigationJudgment":{"type":"object","description":"A public court judgment record matching the search term.","required":["title","caseRef","citation","court","date","parties","judge","judgmentUrl"],"properties":{"title":{"type":"string"},"caseRef":{"type":"string","description":"Source case reference as it appears in the court record."},"citation":{"type":"string","description":"Citation as published by the court. Format varies by jurisdiction\n(e.g. neutral citation in HK/UK/AU; reporter citations elsewhere).\n"},"court":{"type":"string"},"date":{"type":"string","description":"Publication date (ISO 8601)."},"parties":{"type":"string","description":"Full parties description as recorded by the court (bilingual)."},"judge":{"type":"string","description":"Coram (judge / panel) string."},"judgmentUrl":{"type":"string","description":"Public URL to the full judgment."}}}}}}
```

## The LitigationWritParty object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"LitigationWritParty":{"type":"object","required":["side","nameRaw"],"properties":{"side":{"type":"string","enum":["plaintiff","defendant","appellant","respondent","applicant","claimant","petitioner","party"]},"nameRaw":{"type":"string","description":"Verbatim party name from the source filing."},"nameEn":{"type":"string","nullable":true},"nameLocal":{"type":"string","nullable":true,"description":"Local-language name as it appears in the source filing\n(e.g. Chinese for `HK`). Script depends on `countryCode`.\n"}}}}}}
```

## The LitigationWrit object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"LitigationWrit":{"type":"object","description":"A submitted Writ of Summons. The `caseType` discriminator tells you\nwhich optional fields are populated on this row:\n- `civil_action`: `representation`, `claimNature`, `claimAmount`, `claimCurrency`, `claimAmountRaw`, `filingResponses`\n- `personal_injuries`: `representation`, `claimNature`, `claimAmount`, `claimCurrency`, `claimAmountRaw`, `filingResponses`\n- `civil_appeal`: `lowerCourtCaseNo`, `lowerCourtJudge`, `appellantRepresentation`, `respondentRepresentation`\n- `employees_compensation`: `representation`, `claimNature`\n- `ip`: `representation`, `subjectMatter`, `filingResponses`\n- `other`: only the base fields (`caseNo`, `primaryDate`, `parties`, `remarks`)\n\nThis shape is currently modelled on Hong Kong court records and may be extended\n(new `caseType` values, new optional fields) if the service expands to other regions.\nCallers should treat unrecognised `caseType` values as `other`.\n","required":["caseType","caseNo","primaryDate","parties"],"properties":{"caseType":{"type":"string","enum":["civil_action","personal_injuries","civil_appeal","employees_compensation","ip","other"],"description":"Discriminator for variant-specific fields. See schema description."},"caseNo":{"type":"string"},"primaryDate":{"type":"string","description":"Primary date for the writ (ISO 8601)."},"parties":{"type":"array","items":{"$ref":"#/components/schemas/LitigationWritParty"}},"remarks":{"type":"string","nullable":true},"representation":{"type":"string","nullable":true,"description":"Free-text blob describing legal representation for both sides\n(e.g. \"PLAINTIFF(s) In Person; DEFENDANT(s) Smith & Co\"). Not\nparsed into per-side entries — wording is inconsistent in the\nsource filings.\n"},"claimNature":{"type":"string","nullable":true},"claimAmount":{"type":"number","nullable":true,"description":"Best-effort numeric claim amount derived in code from the Claim\nAmount cell. Null when the cell has no parseable figure (e.g.\n\"Unspecified\") even if claimAmountRaw is set; for cells stacking\nmultiple figures it holds only the last one — prefer claimAmountRaw\nwhen that is present.\n"},"claimCurrency":{"type":"string","nullable":true,"description":"Currency code derived alongside claimAmount; reflects a single\nfigure only.\n"},"claimAmountRaw":{"type":"string","nullable":true,"description":"Verbatim Claim Amount cell text. Some cells stack more than one\ndollar figure (e.g. partial + total on a debt claim); claimAmount\nonly ever holds the last one, so use this field to recover the\nfull breakdown when present. Populated only for rows parsed after\nthis field was introduced, so many historical rows have it null\neven when claimAmount is set — fall back to claimAmount /\nclaimCurrency there.\n"},"filingResponses":{"type":"array","nullable":true,"items":{"type":"object","properties":{"partyName":{"type":"string","nullable":true},"filingDate":{"type":"string","nullable":true},"intentionToContest":{"type":"string","nullable":true}}}},"lowerCourtCaseNo":{"type":"string","nullable":true},"lowerCourtJudge":{"type":"string","nullable":true},"appellantRepresentation":{"type":"string","nullable":true},"respondentRepresentation":{"type":"string","nullable":true},"subjectMatter":{"type":"string","nullable":true}}},"LitigationWritParty":{"type":"object","required":["side","nameRaw"],"properties":{"side":{"type":"string","enum":["plaintiff","defendant","appellant","respondent","applicant","claimant","petitioner","party"]},"nameRaw":{"type":"string","description":"Verbatim party name from the source filing."},"nameEn":{"type":"string","nullable":true},"nameLocal":{"type":"string","nullable":true,"description":"Local-language name as it appears in the source filing\n(e.g. Chinese for `HK`). Script depends on `countryCode`.\n"}}}}}}
```

## The LitigationHearing object

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"components":{"schemas":{"LitigationHearing":{"type":"object","description":"A scheduled court hearing. `courtCode` values are drawn from the Hong Kong\ncourt system today; expect this set to expand or diverge per `countryCode`\nas other jurisdictions come online.\n","required":["hearingDate","courtCode"],"properties":{"hearingDate":{"type":"string","description":"Scheduled hearing date (ISO 8601)."},"courtCode":{"type":"string"},"court":{"type":"string","nullable":true,"description":"Specific room / judge label within the court code."},"time":{"type":"string","nullable":true},"caseNumber":{"type":"string","nullable":true,"description":"Case identifier as it appeared in the cause list (whitespace not canonical)."},"parties":{"type":"string","nullable":true,"description":"Free-text parties description."},"nature":{"type":"string","nullable":true,"description":"Hearing type (e.g. Trial, Application, Mention)."}}}}}}
```
