---
title: "Company due-diligence report"
method: POST
path: "/kyc/report/company"
tags: ["reports"]
---

# Company due-diligence report

`POST /kyc/report/company`

## Request

- Base URL: `https://api.qorpiq.com`
- URL: `https://api.qorpiq.com/kyc/report/company`
- Auth: API key in header `x-api-key`

Company master + filing health + charges + directors + risk flags, in one call.

## Request body

- CompanyReportRequest
  - `realtime` boolean: Read the record live from MCA instead of our saved copy. Default false: a saved copy that covers this check answers first, and MCA is read live only when we hold no sufficient record. Live reads are available to accounts enabled for them; if a live read cannot run, the saved copy answers and the response says so.
  - `cin` string, required

## Response `200`

Success.

- CompanyReportResponse
  - `transaction_id` string, uuid: Unique id for this request, echoed in the X-Transaction-Id header.
  - `check` string
  - `cin` string
  - `company` object
    - `name` string
    - `status` string, nullable
    - `class` string, nullable
    - `category` string, nullable
    - `sub_category` string, nullable
    - `incorporation_date` string, nullable
    - `roc` string, nullable
    - `registered_state` string, nullable
    - `activity` string, nullable
    - `authorized_capital` string, nullable
    - `paid_up_capital` string, nullable
    - `listed` boolean
    - `email` string, nullable
  - `filing_health` object, nullable
    - `latest_financials` object, nullable
      - `form` string
      - `srn` string
      - `event_date` string
    - `latest_annual_return` object, nullable
      - `form` string
      - `srn` string
      - `event_date` string
    - `financials_current` boolean
    - `annual_return_current` boolean
  - `charges` object
    - `has_open_charges` boolean
    - `open_count` integer
    - `total_count` integer
    - `items` object[]
  - `director_count` integer
  - `directors` object[]
    - `din` string
    - `name` string
    - `designation` string, nullable
    - `ceased` boolean
    - `disqualified` boolean
  - `risk_flags` string[]
  - `timestamp` integer: Response time (epoch ms).
  - `adjudication` object, nullable: Penalty exposure. null when the MCA adjudication source was transiently unavailable.
    - `has_adjudication` boolean
    - `case_count` integer
    - `ongoing_violation_count` integer
    - `sections` string[]
    - `cases` AdjudicationCase[]
      - `case_id` string, nullable
      - `cin` string, nullable
      - `company_name` string, nullable
      - `identification_number` string, nullable: The violator id the case is filed against: a DIN (director) or the CIN (company).
      - `proceeding_status` string, nullable
      - `order_status` string, nullable
      - `action_required` string, nullable
      - `is_violator` boolean
      - `ongoing_violation` boolean: true = the default is still continuing (accruing per-day penalty).
      - `sections_violated` string, nullable
      - `provision` string, nullable: Full statutory provision text.
      - `roc_code` string, nullable
      - `roc_location` string, nullable
      - `date_of_violation` string, nullable
      - `period_of_violation_start` string, nullable
      - `period_of_violation_end` string, nullable
      - `case_creation_date` string, nullable
      - `action_due_date` string, nullable
      - `last_updated` string, nullable: MCA last-updated timestamp (ISO 8601).

## Other responses

- `400`: Invalid request body or parameters.
- `401`: Missing or invalid x-api-key.
- `402`: Balance too low for this call. Add money to your QorpIQ balance to continue (reason credit_balance_exhausted is kept for compatibility).
- `404`: No matching record found.
- `503`: MCA data source temporarily unavailable.

---

[API](https://skmtc.dev/qorpiq/apis/qorpiq-kyc-kyb-api.md) · [All operations](https://skmtc.dev/qorpiq/apis/qorpiq-kyc-kyb-api/llms.txt) · [OpenAPI document](https://skmtc.dev/qorpiq/apis/qorpiq-kyc-kyb-api/revisions/5a9c792b6c06?raw)
