> 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/corp-verify.md).

# Corp Verify

CorpVerify provides company registry data and documents across **60+ jurisdictions** worldwide. Reports include registration details, shareholder information, and financial data where available.

For the full list of supported countries and their capabilities, see CorpVerify Country Coverage.

***

#### Default Flow

1. Use `/cra/{countryCode}/search/companies` to find the Company ID
2. Pass this ID to `/cra/request` to initiate the report request
3. Receive results via **webhook** or **poll** `/cra/poll`

***

#### Result Delivery

**Webhook (recommended)** — Pass a `callbackUrl` in the `/cra/request` body. When the report is ready, a `POST` request is sent to that URL with the report payload wrapped in a `WebhookPayload` envelope. Polling remains available as a fallback if delivery fails.

**Polling** — Call `/cra/poll` with the returned token until a `200` response is returned.

***

#### Retrieval Methods

**Automated Retrieval** — For supported countries (for example Hong Kong), providing a valid `companyId` enables automatic document fetching. The `/cra/poll` endpoint typically resolves within 5 minutes. Use `/cra/{countryCode}/search/companies` to obtain valid Company IDs.

**Manual Processing** — For countries without automation or when `companyId` is unavailable, Fill Easy processes requests manually. This may take up to several business days. You can still poll `/cra/poll` to check status and retrieve the document when ready.

> **Note:** The search endpoint may return an empty `companyId` for certain countries. In these cases, provide the `companyName` instead and the request will be processed manually.

***

#### Try It Out

Explore available regions, search for companies, and purchase documents using our web interface: [search.fill-easy.com](https://search.fill-easy.com)

## Request

> Initiate a company report request. Returns a JWT token for use with \`/cra/poll\`.\
> \
> \*\*Required:\*\* \`countryCode\` (ISO 3166 alpha-2)\
> \
> \*\*Recommended:\*\* \`companyId\` from \`/cra/{countryCode}/search/companies\` for faster automated processing.\
> \
> \*\*Fallback:\*\* Provide \`companyName\` if \`companyId\` is unavailable — request will be processed manually.\
> \
> \*\*Document Request:\*\* Provide \`documentId\` from \`/cra/{countryCode}/search/documents\` to request specific document. If \`/cra/info\` indicates that the documentId is \*\*required\*\* for retrieval, it must be provided.\
> \
> \*\*Document Type:\*\* Each country has a \`defaultDocumentType\` (see \[\`/cra/info\`]\(#get-cra-info)). Omitting \`documentType\` selects that default. To request a specific document, pass its \`name\` or alias from the country's \`documentTypes\` list.\
> \
> \*\*Manual Documents:\*\* Check the document's \`retrievalMode\` in \`/cra/info\`, even for automated countries.\
> Hong Kong's \`Compulsory Winding-up Search\` (alias \`Bankruptcy Search\`) checks company winding-up\
> records from the Official Receiver's Office and goes directly to manual processing.\
> Provide \`companyName\` and/or \`companyId\`; do not supply a Companies Registry \`documentId\`.\
> This is a company search, not an individual's bankruptcy search. It has no dry-run sample.\
> \
> \*\*Dry Run:\*\* Set \`dryRun: true\` to test the integration without incurring costs.\
> The response includes \`dryRun: true\` and a token that can be polled normally via \`/cra/poll\`.\
> \
> \*\*Webhook Delivery:\*\* Provide \`callbackUrl\` to receive a \`POST\` when a report is available.\
> The webhook body is a \[\`WebhookPayload\`]\(#/components/schemas/WebhookPayload)\
> containing the same data as a \`200\` response from \`/cra/poll\`.\
> Requests that support partial reports may send one webhook with \`reportMetadata.status: processing\`\
> (header \`X-Webhook-Event: cra.report.partial\`) and another with \`reportMetadata.status: completed\`\
> (header \`X-Webhook-Event: cra.report.completed\`). The \`X-Request-Id\` header is included on every delivery,\
> plus any custom headers supplied in \`callbackHeaders\`.\
> If the order is cancelled before any report is produced, a final webhook is sent with\
> \`X-Webhook-Event: cra.report.cancelled\`, carrying \`reportMetadata.status: cancelled\` and the reason.\
> Cancelled orders are never billed.\
> Polling via \`/cra/poll\` remains available regardless of whether a \`callbackUrl\` is provided.<br>

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"tags":[{"name":"CorpVerify","description":"CorpVerify provides company registry data and documents across **60+ jurisdictions** worldwide.\nReports include registration details, shareholder information, and financial data where available.\n\nFor the full list of supported countries and their capabilities, see\n[CorpVerify Country Coverage](#countries).\n\n\n---\n\n### Default Flow\n\n1. Use `/cra/{countryCode}/search/companies` to find the Company ID\n\n2. Pass this ID to `/cra/request` to initiate the report request\n\n3. Receive results via **webhook** or **poll** `/cra/poll`\n\n---\n\n### Result Delivery\n\n**Webhook (recommended)** — Pass a `callbackUrl` in the `/cra/request` body.\nWhen the report is ready, a `POST` request is sent to that URL with the report payload\nwrapped in a [`WebhookPayload`](#/components/schemas/WebhookPayload) envelope.\nPolling remains available as a fallback if delivery fails.\n\n**Polling** — Call `/cra/poll` with the returned token until a `200` response is returned.\n\n---\n\n### Retrieval Methods\n\n**Automated Retrieval** — For supported countries (for example Hong Kong), providing a valid\n`companyId` enables automatic document fetching. The `/cra/poll` endpoint typically resolves\nwithin 5 minutes. Use `/cra/{countryCode}/search/companies` to obtain valid Company IDs.\n\n**Manual Processing** — For countries without automation or when `companyId` is unavailable, Fill Easy\nprocesses requests manually. This may take up to several business days. You can still poll\n`/cra/poll` to check status and retrieve the document when ready.\n\n> **Note:** The search endpoint may return an empty `companyId` for certain countries.\n> In these cases, provide the `companyName` instead and the request will be processed manually.\n\n---\n\n### Try It Out\n\nExplore available regions, search for companies, and purchase documents using our web interface:\n[search.fill-easy.com](https://search.fill-easy.com)\n"}],"servers":[{"url":"sandbox.staging-api.fill-easy.com"}],"security":[{"ClientID":[],"ClientSecret":[]}],"components":{"securitySchemes":{"ClientID":{"type":"apiKey","description":"Client ID in x-client-id header.","name":"x-client-id","in":"header"}}},"paths":{"/cra/request":{"post":{"tags":["CorpVerify"],"summary":"Request","description":"Initiate a company report request. Returns a JWT token for use with `/cra/poll`.\n\n**Required:** `countryCode` (ISO 3166 alpha-2)\n\n**Recommended:** `companyId` from `/cra/{countryCode}/search/companies` for faster automated processing.\n\n**Fallback:** Provide `companyName` if `companyId` is unavailable — request will be processed manually.\n\n**Document Request:** Provide `documentId` from `/cra/{countryCode}/search/documents` to request specific document. If `/cra/info` indicates that the documentId is **required** for retrieval, it must be provided.\n\n**Document Type:** Each country has a `defaultDocumentType` (see [`/cra/info`](#get-cra-info)). Omitting `documentType` selects that default. To request a specific document, pass its `name` or alias from the country's `documentTypes` list.\n\n**Manual Documents:** Check the document's `retrievalMode` in `/cra/info`, even for automated countries.\nHong Kong's `Compulsory Winding-up Search` (alias `Bankruptcy Search`) checks company winding-up\nrecords from the Official Receiver's Office and goes directly to manual processing.\nProvide `companyName` and/or `companyId`; do not supply a Companies Registry `documentId`.\nThis is a company search, not an individual's bankruptcy search. It has no dry-run sample.\n\n**Dry Run:** Set `dryRun: true` to test the integration without incurring costs.\nThe response includes `dryRun: true` and a token that can be polled normally via `/cra/poll`.\n\n**Webhook Delivery:** Provide `callbackUrl` to receive a `POST` when a report is available.\nThe webhook body is a [`WebhookPayload`](#/components/schemas/WebhookPayload)\ncontaining the same data as a `200` response from `/cra/poll`.\nRequests that support partial reports may send one webhook with `reportMetadata.status: processing`\n(header `X-Webhook-Event: cra.report.partial`) and another with `reportMetadata.status: completed`\n(header `X-Webhook-Event: cra.report.completed`). The `X-Request-Id` header is included on every delivery,\nplus any custom headers supplied in `callbackHeaders`.\nIf the order is cancelled before any report is produced, a final webhook is sent with\n`X-Webhook-Event: cra.report.cancelled`, carrying `reportMetadata.status: cancelled` and the reason.\nCancelled orders are never billed.\nPolling via `/cra/poll` remains available regardless of whether a `callbackUrl` is provided.\n","operationId":"craRequest","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["countryCode"],"properties":{"companyName":{"type":"string","description":"Name of the company. At least one of `companyId` / `companyName` is required."},"companyId":{"type":"string","description":"Company ID (e.g., BRN for Hong Kong, ACN for Australia). At least one of `companyId` / `companyName` is required."},"countryCode":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"[ISO 3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) country code (case insensitive)"},"documentType":{"type":"string","description":"The document type to retrieve. Must match a `name` (or alias) from the country's `documentTypes` list in [`/cra/info`](#tag/CorpVerify/operation/craInfo).\n\nIf omitted, defaults to the country's `defaultDocumentType` from `/cra/info` (unless a specific documentId is provided).\n"},"documentYear":{"type":["string","number"],"description":"Year of the document. Only provide it when the retrieval supports or requires it.\n"},"documentId":{"type":"string","description":"Specific document ID - if provided, it is prioritized over \"documentType\" and \"documentYear\".\nCannot be combined with a manual document type in a country with document-ID automation.\n"},"branchId":{"type":"string","pattern":"^\\d{3}$","description":"Branch number of the business — only used by Hong Kong IRD documents\n(Business Registration Certificate, Business Registration Extract of Information).\nDefaults to \"000\" (the main business).\n"},"dryRun":{"type":"boolean","description":"Set to `true` to test the full request-poll flow without incurring costs.\n"},"emailList":{"type":"array","items":{"type":"string","format":"email"},"description":"Optional field for usage analytics"},"externalRefId":{"type":"string","description":"Your own reference ID (optional field for usage analytics)"},"express":{"type":"boolean","description":"Expediate request speed (Only used if turn-around times have been agreed upon)"},"callbackUrl":{"type":"string","format":"uri","pattern":"^https://.+","description":"HTTPS URL to receive a webhook POST when the report is ready.\nWhen provided, available reports use the same payload as a `200` response from `/cra/poll`.\nRequests that support partial reports may send both a `processing` and `completed` payload.\nPolling remains available as a fallback.\n"},"callbackHeaders":{"type":"object","additionalProperties":{"type":"string"},"description":"Custom HTTP headers to include in the webhook request.\nUse this to pass authentication or any other headers your endpoint requires\n(e.g. `{\"Authorization\": \"Bearer <token>\", \"X-Api-Key\": \"...\"}`).\n"}}}}}},"responses":{"200":{"description":"Successfully initiated the request","content":{"application/json":{"schema":{"type":"object","required":["token"],"properties":{"token":{"type":"string","description":"JWT token that encodes the request details and should be used in the /cra/poll endpoint to check the status and retrieve the document"},"dryRun":{"description":"Echoed back as `true` when the request was a dry run — no cost incurred","type":"boolean"}}}}}},"400":{"description":"Bad Request - Unsupported country code, neither `companyId` nor `companyName` provided, document not available for the specified company, or request cannot be fulfilled","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"requestId":{"type":"string","description":"The request ID for tracking purposes"},"message":{"type":"string"}}}}}},"500":{"description":"Internal server error"}}}}}}
```

## Poll Report

> Check the status of a company registry report request.\
> Keep polling until a \`200\` response is returned.\
> \
> Returns \`202\` while the report is still being processed.\
> \
> A \`200\` is terminal for polling, but it does not always carry a report — branch on\
> \`reportMetadata.status\` before using the payload:\
> \`completed\` is the final report, \`processing\` is an interim partial report (keep polling for\
> the rest), and \`cancelled\` means the order was cancelled and no report will ever be produced.\
> On \`cancelled\`, \`reportMetadata.cancellationReason\` says why and \`originalDocuments\` is empty.\
> Cancelled orders are never billed.\
> \
> If a \`callbackUrl\` was provided in \`/cra/request\`, available report states are also\
> delivered via webhook. Polling is always available as a fallback.<br>

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"tags":[{"name":"CorpVerify","description":"CorpVerify provides company registry data and documents across **60+ jurisdictions** worldwide.\nReports include registration details, shareholder information, and financial data where available.\n\nFor the full list of supported countries and their capabilities, see\n[CorpVerify Country Coverage](#countries).\n\n\n---\n\n### Default Flow\n\n1. Use `/cra/{countryCode}/search/companies` to find the Company ID\n\n2. Pass this ID to `/cra/request` to initiate the report request\n\n3. Receive results via **webhook** or **poll** `/cra/poll`\n\n---\n\n### Result Delivery\n\n**Webhook (recommended)** — Pass a `callbackUrl` in the `/cra/request` body.\nWhen the report is ready, a `POST` request is sent to that URL with the report payload\nwrapped in a [`WebhookPayload`](#/components/schemas/WebhookPayload) envelope.\nPolling remains available as a fallback if delivery fails.\n\n**Polling** — Call `/cra/poll` with the returned token until a `200` response is returned.\n\n---\n\n### Retrieval Methods\n\n**Automated Retrieval** — For supported countries (for example Hong Kong), providing a valid\n`companyId` enables automatic document fetching. The `/cra/poll` endpoint typically resolves\nwithin 5 minutes. Use `/cra/{countryCode}/search/companies` to obtain valid Company IDs.\n\n**Manual Processing** — For countries without automation or when `companyId` is unavailable, Fill Easy\nprocesses requests manually. This may take up to several business days. You can still poll\n`/cra/poll` to check status and retrieve the document when ready.\n\n> **Note:** The search endpoint may return an empty `companyId` for certain countries.\n> In these cases, provide the `companyName` instead and the request will be processed manually.\n\n---\n\n### Try It Out\n\nExplore available regions, search for companies, and purchase documents using our web interface:\n[search.fill-easy.com](https://search.fill-easy.com)\n"}],"servers":[{"url":"sandbox.staging-api.fill-easy.com"}],"security":[{"ClientID":[],"ClientSecret":[]}],"components":{"securitySchemes":{"ClientID":{"type":"apiKey","description":"Client ID in x-client-id header.","name":"x-client-id","in":"header"}},"schemas":{"Token":{"type":"string","pattern":"^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$","description":"JWT token"},"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Error message"}}}},"responses":{"BadRequest":{"description":"Bad Request - Invalid input parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/cra/poll":{"post":{"tags":["CorpVerify"],"summary":"Poll Report","description":"Check the status of a company registry report request.\nKeep polling until a `200` response is returned.\n\nReturns `202` while the report is still being processed.\n\nA `200` is terminal for polling, but it does not always carry a report — branch on\n`reportMetadata.status` before using the payload:\n`completed` is the final report, `processing` is an interim partial report (keep polling for\nthe rest), and `cancelled` means the order was cancelled and no report will ever be produced.\nOn `cancelled`, `reportMetadata.cancellationReason` says why and `originalDocuments` is empty.\nCancelled orders are never billed.\n\nIf a `callbackUrl` was provided in `/cra/request`, available report states are also\ndelivered via webhook. Polling is always available as a fallback.\n","operationId":"craPoll","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["token"],"properties":{"token":{"$ref":"#/components/schemas/Token"}}}}}},"responses":{"200":{"description":"Terminal for polling — the completed report, an interim partial report, or a cancelled order","content":{"application/json":{"schema":{"type":"object","required":["reportMetadata"],"properties":{"reportMetadata":{"type":"object","description":"Metadata about the report generation","required":["status","countryCode"],"properties":{"reportDate":{"type":"string","format":"date","description":"Date when the report was generated"},"countryCode":{"type":"string","description":"[ISO country code](https://en.wikipedia.org/wiki/ISO_3166-2) of the report source","pattern":"^[A-Z]{2}$"},"status":{"type":"string","description":"Status of the report generation.\n- `completed` — final report.\n- `processing` — interim partial report, keep polling.\n- `cancelled` — terminal failure, no report will be produced.\n","enum":["completed","processing","cancelled"]},"cancellationReason":{"type":"string","description":"Why the order was cancelled. May be present when `status` is `cancelled`, and omitted when the order was cancelled without a recorded reason."},"requestedYears":{"type":"array","items":{"type":"number"},"description":"Requested financial years for reports that support year ranges."},"readyYears":{"type":"array","items":{"type":"number"},"description":"Financial years currently included in the returned report."},"pendingYears":{"type":"array","items":{"type":"number"},"description":"Financial years still being processed for partial reports."}}},"originalDocuments":{"type":"array","description":"Array of documents with per-document status.\nAlways includes the original document entry. Includes a translated document entry\nwhen translation is applicable or still processing.\n","items":{"type":"object","required":["type","status"],"properties":{"type":{"type":"string","description":"Type of document","enum":["original","translated"]},"variant":{"type":"string","description":"Report stage for requests that can return an interim report before the completed report.","enum":["standard","fast","full"]},"status":{"type":"string","description":"Per-document status:\n- \"ready\": Document is available, url and fileName are populated\n- \"processing\": Document is being generated\n- \"not_applicable\": Document won't be generated (e.g., no translation needed for English-language source)\n","enum":["ready","processing","not_applicable"]},"url":{"type":"string","format":"uri","description":"Presigned URL to download the document (only when status is \"ready\"). Valid for 7 days."},"fileName":{"type":"string","description":"Suggested file name, e.g. \"ABC Company Limited_Annual Return_2023.pdf\" (only when status is \"ready\")"}}}},"companyIdentification":{"type":["object","null"],"description":"Company identification details with bilingual support","properties":{"companyName":{"type":"object","properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"companyId":{"type":["string","null"],"description":"Company registration number"},"idType":{"type":["string","null"],"description":"Type of company number (e.g., USCC, BRN)"},"previousCompanyNames":{"type":"array","items":{"type":"object","properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}}}}},"registrationDetails":{"type":["object","null"],"description":"Company registration details with bilingual support","properties":{"incorporationDate":{"type":["string","null"],"format":"date"},"status":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"companyType":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"jurisdiction":{"type":"string"}}},"location":{"type":["object","null"],"description":"Company location information with bilingual support","properties":{"registeredAddress":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"principalPlaceOfBusiness":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"branches":{"type":["object","null"],"description":"Branch offices of the company (when available from the registry)","properties":{"total":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"object","properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"responsiblePerson":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"incorporationDate":{"type":["string","null"],"format":"date"},"status":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}}}}}}}}},"management":{"type":["object","null"],"description":"Company management structure with bilingual support","properties":{"directors":{"type":"array","items":{"type":"object","properties":{"name":{"type":"object","properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"role":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"identityDocuments":{"type":"array","items":{"type":"string"}},"address":{"type":["string","null"]},"appointmentDate":{"type":["string","null"],"format":"date"}}}},"companySecretary":{"type":["object","null"],"properties":{"name":{"type":"object","properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"address":{"type":["string","null"]}}},"legalRepresentative":{"type":["object","null"],"properties":{"name":{"type":"object","properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"isCorporate":{"type":"boolean"}}}}},"ownership":{"type":["object","null"],"description":"Company ownership/shareholder information with bilingual support","properties":{"shareholders":{"type":"array","items":{"type":"object","properties":{"name":{"type":"object","properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"isCorporate":{"type":"boolean"},"address":{"type":["string","null"]},"sharesHeld":{"type":"array","items":{"type":"object","properties":{"class":{"type":"object","properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"count":{"type":"number"}}}},"totalShares":{"type":["number","null"]},"ownershipPercentage":{"type":["number","null"]},"subscribedCapital":{"type":["object","null"],"description":"Subscribed capital details for the shareholder (when available from the registry)","properties":{"amount":{"type":["number","null"]},"currency":{"type":["string","null"]},"dueDate":{"type":["string","null"]},"contributionMethod":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}}}},"paidUpCapital":{"type":["object","null"],"description":"Paid-up capital details for the shareholder (from registry or annual return filings)","properties":{"amount":{"type":["number","null"]},"currency":{"type":["string","null"]},"source":{"type":["string","null"]}}}}}},"ultimateHoldingCompany":{"type":["object","null"],"properties":{"name":{"type":"object","properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"jurisdiction":{"type":["string","null"]}}},"externalInvestments":{"type":["object","null"],"description":"Companies in which the company holds an equity investment","properties":{"total":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"object","properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"companyId":{"type":["string","null"]},"legalRepresentative":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"incorporationDate":{"type":["string","null"],"format":"date"},"registeredCapital":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"subscribedCapital":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"ownershipPercentage":{"type":["number","null"]},"status":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}}}}}}},"subsidiaries":{"type":["object","null"],"description":"Controlled subsidiaries (more than 50% owned)","properties":{"total":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"object","properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"companyId":{"type":["string","null"]},"legalRepresentative":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"incorporationDate":{"type":["string","null"],"format":"date"},"registeredCapital":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"subscribedCapital":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"ownershipPercentage":{"type":["number","null"]},"status":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}}}}}}}}},"shareCapital":{"type":["object","null"],"description":"Share capital information with bilingual support","properties":{"issuedCapital":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"paidUpCapital":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"authorizedCapital":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}}}},"operations":{"type":["object","null"],"description":"Company operations details with bilingual support","properties":{"businessActivity":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":"string"}}},"financialYearEnd":{"type":["string","null"]}}},"compliance":{"type":["object","null"],"description":"Company compliance, filing history, change records, and risk information","properties":{"registeredAgent":{"type":["object","null"],"properties":{"name":{"type":"string"},"address":{"type":"string"}}},"filingHistory":{"type":["object","null"],"description":"Official filed documents or annual returns from the company registry (e.g., HK ICRIS, China annual returns)","properties":{"totalDocuments":{"type":"number"},"latestYear":{"type":["string","null"]},"latestReleaseDate":{"type":["string","null"],"format":"date"},"summary":{"type":"array","items":{"type":"object","properties":{"category":{"type":"object","properties":{"english":{"type":"string"},"local":{"type":["string","null"]}}},"count":{"type":"number"}}}},"annualReturns":{"type":"array","items":{"type":"object","properties":{"reportYear":{"type":["string","null"]},"releaseDate":{"type":["string","null"],"format":"date"},"employeeCount":{"type":["number","null"]},"disclosedFinancials":{"type":["object","null"],"properties":{"totalAssets":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"totalLiabilities":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"totalEquity":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"totalSales":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"totalProfit":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"mainBusinessProfit":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"mainBusinessRevenue":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"netProfit":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}},"totalTax":{"type":["object","null"],"properties":{"amount":{"type":"number"},"currency":{"type":"string"}}}}}}}}}},"changeHistory":{"type":["object","null"],"description":"Business change records from company registries (e.g., name changes, capital changes, director changes)","properties":{"totalChanges":{"type":"number"},"summary":{"type":"array","items":{"type":"object","properties":{"category":{"type":"object","properties":{"english":{"type":"string"},"local":{"type":["string","null"]}}},"count":{"type":"number"}}}}}},"riskInformation":{"type":["object","null"],"description":"Risk and compliance indicators (e.g., abnormalities, penalties, enforcement actions)","properties":{"totalIssues":{"type":"number"},"summary":{"type":"array","items":{"type":"object","properties":{"category":{"type":"object","properties":{"english":{"type":"string"},"local":{"type":["string","null"]}}},"count":{"type":"number"}}}}}},"intellectualProperty":{"type":["object","null"],"description":"Intellectual property summary (e.g., trademarks, patents, copyrights, website filings)","properties":{"totalItems":{"type":"number"},"summary":{"type":"array","items":{"type":"object","properties":{"category":{"type":"object","properties":{"english":{"type":"string"},"local":{"type":["string","null"]}}},"count":{"type":"number"}}}}}},"administrativeLicenses":{"type":["object","null"],"description":"Administrative licences and approvals held by the company","properties":{"total":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"licenseNumber":{"type":["string","null"]},"licenseName":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"validFrom":{"type":["string","null"],"format":"date"},"validTo":{"type":["string","null"]},"issuingAuthority":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"scope":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}},"status":{"type":["object","null"],"properties":{"english":{"type":["string","null"]},"local":{"type":["string","null"]}}}}}}}}}}}}}}},"202":{"description":"Report is still being processed","content":{"application/json":{"schema":{"type":"object","required":["reportMetadata"],"properties":{"reportMetadata":{"type":"object","description":"Metadata about the report generation","required":["status","countryCode"],"properties":{"reportDate":{"type":"string","format":"date","description":"Date when the report was generated"},"countryCode":{"type":"string","description":"[ISO country code](https://en.wikipedia.org/wiki/ISO_3166-2) of the report source","pattern":"^[A-Z]{2}$"},"status":{"type":"string","description":"Status of the report generation","enum":["completed","processing"]},"requestedYears":{"type":"array","items":{"type":"number"},"description":"Requested financial years for reports that support year ranges."},"readyYears":{"type":"array","items":{"type":"number"},"description":"Financial years currently included in the returned report."},"pendingYears":{"type":"array","items":{"type":"number"},"description":"Financial years still being processed for partial reports."}}},"originalDocuments":{"type":"array","description":"Array of documents with per-document status.\nIncluded during processing to show which documents are expected.\n","items":{"type":"object","required":["type","status"],"properties":{"type":{"type":"string","enum":["original","translated"]},"variant":{"type":"string","enum":["standard","fast","full"]},"status":{"type":"string","enum":["ready","processing","not_applicable"]},"url":{"type":"string","format":"uri"},"fileName":{"type":"string","description":"Suggested file name — company name and covered years, e.g. \"Tencent_2019-2024.pdf\"."}}}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"500":{"description":"Internal server error"}}}}}}
```

## Search Companies by Name

> Searches a jurisdiction's corporate registry by company name (English or local language)\
> and returns matching company records (\`companyName\`, \`localName\`, \`companyId\`, \`idType\`,\
> \`status\`, \`nameType\`, \`registrationDetails\`, \`incorporationDate\`, \`dissolutionDate\`,\
> and \`nameHistory\` when available).\
> \
> \`nameType\` distinguishes \`current\` and \`old\` (former) names; \`nameHistory\[].effectiveDate\`\
> records when a historical name took effect. Certain countries do not return a \`companyId\`\
> at search time (\`idType: "Unavailable"\`, \`companyId: ""\`).\
> \
> Name-matching behavior (substring, tokenized, or left-partial) and supported registers vary\
> by jurisdiction — call \`/cra/info\` with \`countryCode\` to inspect a jurisdiction's search semantics\
> and register coverage.<br>

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"tags":[{"name":"CorpVerify","description":"CorpVerify provides company registry data and documents across **60+ jurisdictions** worldwide.\nReports include registration details, shareholder information, and financial data where available.\n\nFor the full list of supported countries and their capabilities, see\n[CorpVerify Country Coverage](#countries).\n\n\n---\n\n### Default Flow\n\n1. Use `/cra/{countryCode}/search/companies` to find the Company ID\n\n2. Pass this ID to `/cra/request` to initiate the report request\n\n3. Receive results via **webhook** or **poll** `/cra/poll`\n\n---\n\n### Result Delivery\n\n**Webhook (recommended)** — Pass a `callbackUrl` in the `/cra/request` body.\nWhen the report is ready, a `POST` request is sent to that URL with the report payload\nwrapped in a [`WebhookPayload`](#/components/schemas/WebhookPayload) envelope.\nPolling remains available as a fallback if delivery fails.\n\n**Polling** — Call `/cra/poll` with the returned token until a `200` response is returned.\n\n---\n\n### Retrieval Methods\n\n**Automated Retrieval** — For supported countries (for example Hong Kong), providing a valid\n`companyId` enables automatic document fetching. The `/cra/poll` endpoint typically resolves\nwithin 5 minutes. Use `/cra/{countryCode}/search/companies` to obtain valid Company IDs.\n\n**Manual Processing** — For countries without automation or when `companyId` is unavailable, Fill Easy\nprocesses requests manually. This may take up to several business days. You can still poll\n`/cra/poll` to check status and retrieve the document when ready.\n\n> **Note:** The search endpoint may return an empty `companyId` for certain countries.\n> In these cases, provide the `companyName` instead and the request will be processed manually.\n\n---\n\n### Try It Out\n\nExplore available regions, search for companies, and purchase documents using our web interface:\n[search.fill-easy.com](https://search.fill-easy.com)\n"}],"servers":[{"url":"sandbox.staging-api.fill-easy.com"}],"security":[{"ClientID":[],"ClientSecret":[]}],"components":{"securitySchemes":{"ClientID":{"type":"apiKey","description":"Client ID in x-client-id header.","name":"x-client-id","in":"header"}},"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","Other"],"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- \"Other\" - Other or unspecified registry status\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"},"matchType":{"type":"string","description":"Field or record attribute that matched the search query (e.g. \"Company Name\", \"Former Name\", \"Shareholder\", \"Legal Representative\").\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"]}}},"paths":{"/cra/{countryCode}/search/companies":{"post":{"tags":["CorpVerify"],"summary":"Search Companies by Name","description":"Searches a jurisdiction's corporate registry by company name (English or local language)\nand returns matching company records (`companyName`, `localName`, `companyId`, `idType`,\n`status`, `nameType`, `registrationDetails`, `incorporationDate`, `dissolutionDate`,\nand `nameHistory` when available).\n\n`nameType` distinguishes `current` and `old` (former) names; `nameHistory[].effectiveDate`\nrecords when a historical name took effect. Certain countries do not return a `companyId`\nat search time (`idType: \"Unavailable\"`, `companyId: \"\"`).\n\nName-matching behavior (substring, tokenized, or left-partial) and supported registers vary\nby jurisdiction — call `/cra/info` with `countryCode` to inspect a jurisdiction's search semantics\nand register coverage.\n","operationId":"searchCompanies","parameters":[{"name":"countryCode","in":"path","required":true,"description":"[ISO 3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) country code (case insensitive).","schema":{"pattern":"^[A-Za-z]{2}(-[A-Za-z]{2})?$","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["companyName"],"properties":{"companyName":{"type":"string","description":"Company name to search (English or Chinese)"},"page":{"type":"integer","minimum":1,"default":1,"description":"Page of results to return. Pagination support varies by country — for countries where it is not supported, only the first N results are returned regardless of this value. Check `meta.page` in the response to confirm whether pagination was applied."}}}}}},"responses":{"200":{"description":"Successfully retrieved matching companies","content":{"application/json":{"schema":{"required":["message"],"type":"object","properties":{"message":{"type":"string","description":"Response message"},"meta":{"type":"object","required":["page","totalPages"],"properties":{"page":{"description":"Current page of results returned, or null if the data source does not support pagination (either all available results are included in a single response, or only limited results are provided). When non-null, check `totalPages` to determine whether more pages exist.","type":"integer","nullable":true},"totalPages":{"description":"Total number of pages available, or null if not paginated or unknown.","type":"integer","nullable":true}}},"result":{"type":"array","description":"Array of companies matching the search criteria","items":{"$ref":"#/components/schemas/Company"}}}}}}},"400":{"description":"Bad Request - Unsupported country code or search not implemented","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"422":{"description":"Too many results - search term is too broad","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","enum":["too many results, please refine your search term"]}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","enum":["search error"]}}}}}}}}}}}
```

## Hong Kong IRD Business Register search

> Searches the Hong Kong Inland Revenue Department (IRD) Business Register\
> by business name covering incorporated companies, sole proprietorships,\
> partnerships, and branch registrations (\`branchNumber: "000"\` denotes the main\
> business). Reports whether the business exists and which IRD documents can be\
> purchased for it:\
> &#x20; \- \*\*BR Extract of Information\*\* ("BR Search") — a document extract of the\
> &#x20;   business register record.\
> &#x20; \- \*\*Business Registration Certificate (BRC)\*\* — a duplicate of the\
> &#x20;   certificate.\
> \
> This is a read-only availability check — it never starts a payment.\
> \
> By default only existence is returned (\`brn\`, \`branchNumber\`, \`nameEn\`, \`nameZh\`,\
> \`address\`, \`commencementDate\`). Pass \`checkDocumentAvailability: true\` for a deeper,\
> authoritative check that also returns explicit \`brExtract\` and \`brc\` purchasability\
> booleans, plus \`businessType\`, \`businessStatus\`, and \`cessationDate\` (solves a second\
> captcha, slower).<br>

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"tags":[{"name":"CorpVerify","description":"CorpVerify provides company registry data and documents across **60+ jurisdictions** worldwide.\nReports include registration details, shareholder information, and financial data where available.\n\nFor the full list of supported countries and their capabilities, see\n[CorpVerify Country Coverage](#countries).\n\n\n---\n\n### Default Flow\n\n1. Use `/cra/{countryCode}/search/companies` to find the Company ID\n\n2. Pass this ID to `/cra/request` to initiate the report request\n\n3. Receive results via **webhook** or **poll** `/cra/poll`\n\n---\n\n### Result Delivery\n\n**Webhook (recommended)** — Pass a `callbackUrl` in the `/cra/request` body.\nWhen the report is ready, a `POST` request is sent to that URL with the report payload\nwrapped in a [`WebhookPayload`](#/components/schemas/WebhookPayload) envelope.\nPolling remains available as a fallback if delivery fails.\n\n**Polling** — Call `/cra/poll` with the returned token until a `200` response is returned.\n\n---\n\n### Retrieval Methods\n\n**Automated Retrieval** — For supported countries (for example Hong Kong), providing a valid\n`companyId` enables automatic document fetching. The `/cra/poll` endpoint typically resolves\nwithin 5 minutes. Use `/cra/{countryCode}/search/companies` to obtain valid Company IDs.\n\n**Manual Processing** — For countries without automation or when `companyId` is unavailable, Fill Easy\nprocesses requests manually. This may take up to several business days. You can still poll\n`/cra/poll` to check status and retrieve the document when ready.\n\n> **Note:** The search endpoint may return an empty `companyId` for certain countries.\n> In these cases, provide the `companyName` instead and the request will be processed manually.\n\n---\n\n### Try It Out\n\nExplore available regions, search for companies, and purchase documents using our web interface:\n[search.fill-easy.com](https://search.fill-easy.com)\n"}],"servers":[{"url":"sandbox.staging-api.fill-easy.com"}],"security":[{"ClientID":[],"ClientSecret":[]}],"components":{"securitySchemes":{"ClientID":{"type":"apiKey","description":"Client ID in x-client-id header.","name":"x-client-id","in":"header"}}},"paths":{"/cra/{countryCode}/search/ird":{"post":{"tags":["CorpVerify"],"summary":"Hong Kong IRD Business Register search","description":"Searches the Hong Kong Inland Revenue Department (IRD) Business Register\nby business name covering incorporated companies, sole proprietorships,\npartnerships, and branch registrations (`branchNumber: \"000\"` denotes the main\nbusiness). Reports whether the business exists and which IRD documents can be\npurchased for it:\n  - **BR Extract of Information** (\"BR Search\") — a document extract of the\n    business register record.\n  - **Business Registration Certificate (BRC)** — a duplicate of the\n    certificate.\n\nThis is a read-only availability check — it never starts a payment.\n\nBy default only existence is returned (`brn`, `branchNumber`, `nameEn`, `nameZh`,\n`address`, `commencementDate`). Pass `checkDocumentAvailability: true` for a deeper,\nauthoritative check that also returns explicit `brExtract` and `brc` purchasability\nbooleans, plus `businessType`, `businessStatus`, and `cessationDate` (solves a second\ncaptcha, slower).\n","operationId":"searchIrd","parameters":[{"name":"countryCode","in":"path","required":true,"description":"[ISO 3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) country code (case insensitive). Only `HK` is supported — the IRD Business Register is Hong Kong-only.","schema":{"pattern":"^[A-Za-z]{2}(-[A-Za-z]{2})?$","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["companyName"],"properties":{"companyName":{"type":"string","description":"Business name to search (English)."},"checkDocumentAvailability":{"type":"boolean","default":false,"description":"Defaults to false (existence only). Set true to also annotate each match with whether its BR Extract and BRC can be purchased (solves a second captcha, slower)."}}}}}},"responses":{"200":{"description":"Search completed","content":{"application/json":{"schema":{"type":"object","required":["found","matches"],"properties":{"found":{"type":"boolean","description":"Whether any business matched the name in the IRD Business Register."},"matches":{"type":"array","description":"Businesses matching the name. Each carries the document-availability fields (brExtract, brc, businessType, businessStatus, cessationDate) only when checkDocumentAvailability was requested and the per-match check completed.","items":{"type":"object","required":["brn","nameEn"],"properties":{"brn":{"type":"string","description":"Business Registration Number."},"branchNumber":{"type":"string","description":"Branch number (\"000\" = main business)."},"nameEn":{"type":"string"},"nameZh":{"type":"string"},"address":{"type":"string"},"commencementDate":{"type":"string","description":"Business commencement date (YYYY-MM-DD), when available."},"brExtract":{"type":"boolean","description":"Whether the BR Extract of Information (\"BR Search\") can be purchased for this business."},"brc":{"type":"boolean","description":"Whether the Business Registration Certificate (duplicate) can be purchased for this business."},"businessType":{"type":"string"},"businessStatus":{"type":"string"},"cessationDate":{"type":"string"}}}}}}}}},"400":{"description":"Bad Request - missing or invalid input","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}}}}}}}
```

## Search Company Documents

> Searches a company's filing index on the corporate registry by \`companyId\`\
> (obtained from \`/cra/{countryCode}/search/companies\` or \`/cra/{countryCode}/search/company\`).\
> \
> Each returned filing entry includes \`documentName\`, \`documentId\`, \`filingDate\`,\
> optional \`documentYear\`, \`category\`, and \`status\`. Only filings with status \`Available\`\
> (or where the registry publishes no status restriction) can be retrieved; statuses such as\
> \`Pending\`, \`Unavailable\`, \`Document Lost\`, or \`Document image held for processing\` cannot\
> be retrieved.\
> \
> You can optionally filter by \`documentType\` and \`documentYear\`. Country-specific filter\
> semantics (category names, form codes, or document type names) and document search\
> availability are documented per jurisdiction in \`/cra/info\`.<br>

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"tags":[{"name":"CorpVerify","description":"CorpVerify provides company registry data and documents across **60+ jurisdictions** worldwide.\nReports include registration details, shareholder information, and financial data where available.\n\nFor the full list of supported countries and their capabilities, see\n[CorpVerify Country Coverage](#countries).\n\n\n---\n\n### Default Flow\n\n1. Use `/cra/{countryCode}/search/companies` to find the Company ID\n\n2. Pass this ID to `/cra/request` to initiate the report request\n\n3. Receive results via **webhook** or **poll** `/cra/poll`\n\n---\n\n### Result Delivery\n\n**Webhook (recommended)** — Pass a `callbackUrl` in the `/cra/request` body.\nWhen the report is ready, a `POST` request is sent to that URL with the report payload\nwrapped in a [`WebhookPayload`](#/components/schemas/WebhookPayload) envelope.\nPolling remains available as a fallback if delivery fails.\n\n**Polling** — Call `/cra/poll` with the returned token until a `200` response is returned.\n\n---\n\n### Retrieval Methods\n\n**Automated Retrieval** — For supported countries (for example Hong Kong), providing a valid\n`companyId` enables automatic document fetching. The `/cra/poll` endpoint typically resolves\nwithin 5 minutes. Use `/cra/{countryCode}/search/companies` to obtain valid Company IDs.\n\n**Manual Processing** — For countries without automation or when `companyId` is unavailable, Fill Easy\nprocesses requests manually. This may take up to several business days. You can still poll\n`/cra/poll` to check status and retrieve the document when ready.\n\n> **Note:** The search endpoint may return an empty `companyId` for certain countries.\n> In these cases, provide the `companyName` instead and the request will be processed manually.\n\n---\n\n### Try It Out\n\nExplore available regions, search for companies, and purchase documents using our web interface:\n[search.fill-easy.com](https://search.fill-easy.com)\n"}],"servers":[{"url":"sandbox.staging-api.fill-easy.com"}],"security":[{"ClientID":[],"ClientSecret":[]}],"components":{"securitySchemes":{"ClientID":{"type":"apiKey","description":"Client ID in x-client-id header.","name":"x-client-id","in":"header"}},"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","Incorporation and Constitution","Resolutions","Deregistration and Striking Off","Winding Up and Liquidation","Re-domiciliation","Registered Foreign Companies","Registered Non-Hong Kong Companies","Registered Offices and Location of Registers","Registration of Eligible Companies","Re-Registration","Share Acquisition or Buy-back/Share Certificates","Receivership","Winding Up","Certificates","Change in Directors/Designated Partner","Incorporation Documents","Charge Documents","Annual Returns and Balance Sheet eForms","Other eForm Documents","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"},"status":{"type":"string","description":"The registry's own wording for whether the document can be ordered. Anything but `Available` cannot be bought — most often a filing delivered in the last few days whose image the registry has not published yet. Omitted where the registry publishes no status.","enum":["Available","Pending","Unavailable","Document image held for processing","Document Lost"]},"description":{"type":"object","description":"Additional useful info regarding the document","additionalProperties":{"type":"string"}}}}}},"paths":{"/cra/{countryCode}/search/documents":{"post":{"tags":["CorpVerify"],"summary":"Search Company Documents","description":"Searches a company's filing index on the corporate registry by `companyId`\n(obtained from `/cra/{countryCode}/search/companies` or `/cra/{countryCode}/search/company`).\n\nEach returned filing entry includes `documentName`, `documentId`, `filingDate`,\noptional `documentYear`, `category`, and `status`. Only filings with status `Available`\n(or where the registry publishes no status restriction) can be retrieved; statuses such as\n`Pending`, `Unavailable`, `Document Lost`, or `Document image held for processing` cannot\nbe retrieved.\n\nYou can optionally filter by `documentType` and `documentYear`. Country-specific filter\nsemantics (category names, form codes, or document type names) and document search\navailability are documented per jurisdiction in `/cra/info`.\n","operationId":"searchDocuments","parameters":[{"name":"countryCode","in":"path","required":true,"description":"[ISO 3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) country code (case insensitive).","schema":{"pattern":"^[A-Za-z]{2}$","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"string","description":"Company ID (e.g., BRN for Hong Kong, ACN for Australia)"},"documentType":{"type":"string","description":"Optional filter by document category, filing code, or document type name.\nAccepted filter values are jurisdiction-specific — call `/cra/info` with `countryCode`\nto inspect the target jurisdiction's categories, form codes, and filter rules.\n"},"documentYear":{"type":"string","description":"The year the document covers, as returned by the `documentYear` value of this endpoint.\n`documentYear` has no strict check against `filingDate`.\n"},"page":{"type":"integer","minimum":1,"default":1,"description":"Page of results to return. Check `meta.totalPages` in the response to determine total pages available."}}}}}},"responses":{"200":{"description":"Successfully retrieved documents as a flat array","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","enum":["success"],"description":"Status of the operation"},"meta":{"type":"object","required":["page","totalPages"],"properties":{"page":{"type":"integer","nullable":true,"description":"Current page returned, or null if pagination is not supported for this country."},"totalPages":{"type":"integer","nullable":true,"description":"Total pages available, or null if unknown. When filtering by a specific GB document code this is an overestimate based on the parent category total."}}},"result":{"type":"array","description":"array of documents filed by the company.","items":{"$ref":"#/components/schemas/Document"}}}}}}},"400":{"description":"Bad Request - Unsupported country code or search not implemented","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","enum":["search error"]}}}}}}}}}}}
```

## Search Litigation Records

> Searches court records by entity or individual party name (\`searchTerm\`).\
> Returns three aggregated arrays:\
> \
> \- \`judgments\` — public court judgments matching the party name.\
> \- \`writs\` — submitted Writs of Summons, grouped by court / format variant.\
> \- \`hearings\` — scheduled (past and upcoming) court hearings.\
> \
> Currently only \`HK\` is supported. Other country codes return 400.\
> \
> Matching is case-insensitive substring against party-name text. The judgments source\
> additionally normalises away common corporate suffixes (LTD, LIMITED, CO, COMPANY, etc.)\
> before matching, since those suffixes vary across records.\
> \
> \*\*Per-country response shape.\*\* The \`result\` envelope is currently modelled on Hong Kong court\
> records (\`judgments\` + \`writs\` + \`hearings\`). If other jurisdictions are implemented, the\
> populated arrays and their item shapes may differ per \`countryCode\`: a future jurisdiction\
> may omit \`writs\` or \`hearings\` entirely, add new top-level arrays, or use a different\
> \`LitigationWrit\` variant set. Callers should branch on \`countryCode\` when consuming\
> \`result\`, and treat unrecognised \`caseType\` values as \`other\`.<br>

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"tags":[{"name":"CorpVerify","description":"CorpVerify provides company registry data and documents across **60+ jurisdictions** worldwide.\nReports include registration details, shareholder information, and financial data where available.\n\nFor the full list of supported countries and their capabilities, see\n[CorpVerify Country Coverage](#countries).\n\n\n---\n\n### Default Flow\n\n1. Use `/cra/{countryCode}/search/companies` to find the Company ID\n\n2. Pass this ID to `/cra/request` to initiate the report request\n\n3. Receive results via **webhook** or **poll** `/cra/poll`\n\n---\n\n### Result Delivery\n\n**Webhook (recommended)** — Pass a `callbackUrl` in the `/cra/request` body.\nWhen the report is ready, a `POST` request is sent to that URL with the report payload\nwrapped in a [`WebhookPayload`](#/components/schemas/WebhookPayload) envelope.\nPolling remains available as a fallback if delivery fails.\n\n**Polling** — Call `/cra/poll` with the returned token until a `200` response is returned.\n\n---\n\n### Retrieval Methods\n\n**Automated Retrieval** — For supported countries (for example Hong Kong), providing a valid\n`companyId` enables automatic document fetching. The `/cra/poll` endpoint typically resolves\nwithin 5 minutes. Use `/cra/{countryCode}/search/companies` to obtain valid Company IDs.\n\n**Manual Processing** — For countries without automation or when `companyId` is unavailable, Fill Easy\nprocesses requests manually. This may take up to several business days. You can still poll\n`/cra/poll` to check status and retrieve the document when ready.\n\n> **Note:** The search endpoint may return an empty `companyId` for certain countries.\n> In these cases, provide the `companyName` instead and the request will be processed manually.\n\n---\n\n### Try It Out\n\nExplore available regions, search for companies, and purchase documents using our web interface:\n[search.fill-easy.com](https://search.fill-easy.com)\n"}],"servers":[{"url":"sandbox.staging-api.fill-easy.com"}],"security":[{"ClientID":[],"ClientSecret":[]}],"components":{"securitySchemes":{"ClientID":{"type":"apiKey","description":"Client ID in x-client-id header.","name":"x-client-id","in":"header"}},"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."}}},"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"}}},"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)."}}}}},"paths":{"/cra/{countryCode}/search/litigation":{"post":{"tags":["CorpVerify"],"summary":"Search Litigation Records","description":"Searches court records by entity or individual party name (`searchTerm`).\nReturns three aggregated arrays:\n\n- `judgments` — public court judgments matching the party name.\n- `writs` — submitted Writs of Summons, grouped by court / format variant.\n- `hearings` — scheduled (past and upcoming) court hearings.\n\nCurrently only `HK` is supported. Other country codes return 400.\n\nMatching is case-insensitive substring against party-name text. The judgments source\nadditionally normalises away common corporate suffixes (LTD, LIMITED, CO, COMPANY, etc.)\nbefore matching, since those suffixes vary across records.\n\n**Per-country response shape.** The `result` envelope is currently modelled on Hong Kong court\nrecords (`judgments` + `writs` + `hearings`). If other jurisdictions are implemented, the\npopulated arrays and their item shapes may differ per `countryCode`: a future jurisdiction\nmay omit `writs` or `hearings` entirely, add new top-level arrays, or use a different\n`LitigationWrit` variant set. Callers should branch on `countryCode` when consuming\n`result`, and treat unrecognised `caseType` values as `other`.\n","operationId":"searchLitigation","parameters":[{"name":"countryCode","in":"path","required":true,"description":"[ISO 3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) country code (case insensitive).","schema":{"pattern":"^[A-Za-z]{2}$","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["searchTerm"],"properties":{"searchTerm":{"type":"string","description":"Party name to search for (typically a company name; English or Chinese)."}}}}}},"responses":{"200":{"description":"Successfully retrieved litigation records","content":{"application/json":{"schema":{"type":"object","required":["message","result"],"properties":{"message":{"type":"string","enum":["success"]},"result":{"type":"object","required":["searchTerm","judgments","writs","hearings"],"properties":{"searchTerm":{"type":"string"},"judgments":{"type":"array","items":{"$ref":"#/components/schemas/LitigationJudgment"}},"writs":{"type":"array","items":{"$ref":"#/components/schemas/LitigationWrit"}},"hearings":{"type":"array","items":{"$ref":"#/components/schemas/LitigationHearing"}}}}}}}}},"400":{"description":"Bad Request - Unsupported country code or search not implemented","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","enum":["search error"]}}}}}}}}}}}
```

## Get Company Base Information

> Retrieves registered base information for a specific company from the corporate\
> registry using its \`companyId\`.\
> \
> Returns \`companyName\`, \`localName\`, \`companyId\`, \`idType\`, \`status\` (\`Live\`, \`Distressed\`,\
> or \`Dissolved\`), \`nameType\` (\`current\` or \`old\`), \`registrationDetails\`, \`incorporationDate\`,\
> \`dissolutionDate\` (when applicable), \`address\`, \`remarks\`, and \`nameHistory\` (where\
> \`nameHistory\[].effectiveDate\` records when each historical name took effect). Exact fields\
> returned depend on the jurisdiction's registry.<br>

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"tags":[{"name":"CorpVerify","description":"CorpVerify provides company registry data and documents across **60+ jurisdictions** worldwide.\nReports include registration details, shareholder information, and financial data where available.\n\nFor the full list of supported countries and their capabilities, see\n[CorpVerify Country Coverage](#countries).\n\n\n---\n\n### Default Flow\n\n1. Use `/cra/{countryCode}/search/companies` to find the Company ID\n\n2. Pass this ID to `/cra/request` to initiate the report request\n\n3. Receive results via **webhook** or **poll** `/cra/poll`\n\n---\n\n### Result Delivery\n\n**Webhook (recommended)** — Pass a `callbackUrl` in the `/cra/request` body.\nWhen the report is ready, a `POST` request is sent to that URL with the report payload\nwrapped in a [`WebhookPayload`](#/components/schemas/WebhookPayload) envelope.\nPolling remains available as a fallback if delivery fails.\n\n**Polling** — Call `/cra/poll` with the returned token until a `200` response is returned.\n\n---\n\n### Retrieval Methods\n\n**Automated Retrieval** — For supported countries (for example Hong Kong), providing a valid\n`companyId` enables automatic document fetching. The `/cra/poll` endpoint typically resolves\nwithin 5 minutes. Use `/cra/{countryCode}/search/companies` to obtain valid Company IDs.\n\n**Manual Processing** — For countries without automation or when `companyId` is unavailable, Fill Easy\nprocesses requests manually. This may take up to several business days. You can still poll\n`/cra/poll` to check status and retrieve the document when ready.\n\n> **Note:** The search endpoint may return an empty `companyId` for certain countries.\n> In these cases, provide the `companyName` instead and the request will be processed manually.\n\n---\n\n### Try It Out\n\nExplore available regions, search for companies, and purchase documents using our web interface:\n[search.fill-easy.com](https://search.fill-easy.com)\n"}],"servers":[{"url":"sandbox.staging-api.fill-easy.com"}],"security":[{"ClientID":[],"ClientSecret":[]}],"components":{"securitySchemes":{"ClientID":{"type":"apiKey","description":"Client ID in x-client-id header.","name":"x-client-id","in":"header"}},"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","Other"],"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- \"Other\" - Other or unspecified registry status\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"},"matchType":{"type":"string","description":"Field or record attribute that matched the search query (e.g. \"Company Name\", \"Former Name\", \"Shareholder\", \"Legal Representative\").\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"]}}},"paths":{"/cra/{countryCode}/search/company":{"post":{"tags":["CorpVerify"],"summary":"Get Company Base Information","description":"Retrieves registered base information for a specific company from the corporate\nregistry using its `companyId`.\n\nReturns `companyName`, `localName`, `companyId`, `idType`, `status` (`Live`, `Distressed`,\nor `Dissolved`), `nameType` (`current` or `old`), `registrationDetails`, `incorporationDate`,\n`dissolutionDate` (when applicable), `address`, `remarks`, and `nameHistory` (where\n`nameHistory[].effectiveDate` records when each historical name took effect). Exact fields\nreturned depend on the jurisdiction's registry.\n","operationId":"searchCompany","parameters":[{"name":"countryCode","in":"path","required":true,"description":"[ISO 3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) country code (case insensitive).","schema":{"pattern":"^[A-Za-z]{2}(-[A-Za-z]{2})?$","type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["companyId"],"properties":{"companyId":{"type":"string","description":"Company ID (e.g., BRN for Hong Kong, ACN for Australia)"}}}}}},"responses":{"200":{"description":"Successfully retrieved company information","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","enum":["success"],"description":"Status of the operation"},"result":{"description":"Company base information object or null if not found","oneOf":[{"$ref":"#/components/schemas/Company"},{"type":"null"}]}}}}}},"400":{"description":"Bad Request - Unsupported country code or search not implemented","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string"}}}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"string","enum":["search error"]}}}}}}}}}}}
```

## Info

> Returns metadata and a list of all countries supported by the CorpVerify service,\
> including their automation status, available search capabilities, report contents,\
> and the available document types per country. Each country includes a \`defaultDocumentType\`\
> indicating which document is returned when \`documentType\` is omitted from a \`/cra/request\` call.\
> \
> \> This contains the same data as the \[CorpVerify Country Coverage table]\(#COUNTRIES.md).<br>

```json
{"openapi":"3.1.0","info":{"title":"Fill Easy Services","version":"1.0.0"},"tags":[{"name":"CorpVerify","description":"CorpVerify provides company registry data and documents across **60+ jurisdictions** worldwide.\nReports include registration details, shareholder information, and financial data where available.\n\nFor the full list of supported countries and their capabilities, see\n[CorpVerify Country Coverage](#countries).\n\n\n---\n\n### Default Flow\n\n1. Use `/cra/{countryCode}/search/companies` to find the Company ID\n\n2. Pass this ID to `/cra/request` to initiate the report request\n\n3. Receive results via **webhook** or **poll** `/cra/poll`\n\n---\n\n### Result Delivery\n\n**Webhook (recommended)** — Pass a `callbackUrl` in the `/cra/request` body.\nWhen the report is ready, a `POST` request is sent to that URL with the report payload\nwrapped in a [`WebhookPayload`](#/components/schemas/WebhookPayload) envelope.\nPolling remains available as a fallback if delivery fails.\n\n**Polling** — Call `/cra/poll` with the returned token until a `200` response is returned.\n\n---\n\n### Retrieval Methods\n\n**Automated Retrieval** — For supported countries (for example Hong Kong), providing a valid\n`companyId` enables automatic document fetching. The `/cra/poll` endpoint typically resolves\nwithin 5 minutes. Use `/cra/{countryCode}/search/companies` to obtain valid Company IDs.\n\n**Manual Processing** — For countries without automation or when `companyId` is unavailable, Fill Easy\nprocesses requests manually. This may take up to several business days. You can still poll\n`/cra/poll` to check status and retrieve the document when ready.\n\n> **Note:** The search endpoint may return an empty `companyId` for certain countries.\n> In these cases, provide the `companyName` instead and the request will be processed manually.\n\n---\n\n### Try It Out\n\nExplore available regions, search for companies, and purchase documents using our web interface:\n[search.fill-easy.com](https://search.fill-easy.com)\n"}],"servers":[{"url":"sandbox.staging-api.fill-easy.com"}],"security":[{"ClientID":[],"ClientSecret":[]}],"components":{"securitySchemes":{"ClientID":{"type":"apiKey","description":"Client ID in x-client-id header.","name":"x-client-id","in":"header"}},"schemas":{"Country":{"type":"object","required":["name","code","region","status","sourceLanguage","search","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 has any automated retrieval or only manual processing.\nAutomated countries may also offer manual documents; check each document's retrievalMode.\n"},"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"}}},"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","retrievalMode"],"properties":{"name":{"type":"string","description":"Document type name"},"aliases":{"type":"array","items":{"type":"string"},"description":"Alternative names accepted in the documentType field of `/cra/request` and `/cra/batch`."},"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"},"retrievalMode":{"type":"string","enum":["automated","manual"],"description":"How this document is retrieved when ordered by type. Manual documents go directly to\nhuman processing, even when the country has automated retrieval for other documents.\n"},"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","Company Duration","Business Commencement Date","Financial Year End","Annual Return Date","Jurisdiction","Former Company Name","Tax Identification Number","Company Contact Details","Number of Employees","Licences and Permits","Authorized Capital","Paid-Up Capital","Share Information","Shareholder Name","Ownership Ratio","Ownership Volume","Number of Shareholders","Shareholder Nationality","Shareholder Address","Shareholder Identification Number","Initial Subscriber","Ultimate Holding Company","Director Name","Director Position","Director Nationality","Director Date of Birth","Director Identification Number","Registered Agent","Registered Agent Contact","Filing History","Resolutions","Branches and Subsidiaries","Insolvency Information","Tax Debt Status","Administrative Penalties","Credit Rating","Intellectual Property","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","Beneficial Owner Nationality","Financial Statement","Company Secretary","Auditor Name","Signing Authority","Method of Public Notice","Mortgages and Charges","Court Judgments","Writs of Summons","Court Hearings"]}}},"paths":{"/cra/info":{"get":{"tags":["CorpVerify"],"summary":"Info","description":"Returns metadata and a list of all countries supported by the CorpVerify service,\nincluding their automation status, available search capabilities, report contents,\nand the available document types per country. Each country includes a `defaultDocumentType`\nindicating which document is returned when `documentType` is omitted from a `/cra/request` call.\n\n> This contains the same data as the [CorpVerify Country Coverage table](#COUNTRIES.md).\n","operationId":"craInfo","parameters":[{"name":"country","in":"query","required":false,"schema":{"type":"string"},"description":"[ISO 3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-2) country code (e.g. `HK`). Case insensitive."}],"responses":{"200":{"description":"Successfully retrieved country information","content":{"application/json":{"schema":{"type":"object","required":["meta","countries"],"properties":{"meta":{"type":"object","required":["totalCountries","automated","manual","searchable"],"properties":{"totalCountries":{"type":"number","description":"Total number of countries"},"automated":{"type":"number","description":"Number of automated countries"},"manual":{"type":"number","description":"Number of manual countries"},"searchable":{"type":"number","description":"Number of countries with at least one search capability"}}},"countries":{"type":"array","items":{"$ref":"#/components/schemas/Country"}}}}}}},"400":{"description":"Bad Request"},"500":{"description":"Internal server error"}}}}}}
```
