{
  "openapi": "3.0.1",
  "info": {
    "title": "India Company Registry",
    "description": "Official-source India company-master evidence with exact CIN lookup, explicit publisher-coverage metadata, LEI corroboration, change fingerprints, and hash-bound receipts. Supports supplier and KYB research; not a complete KYC or identity decision.",
    "version": "0.1",
    "x-build-id": "4gofKVM7ieY1ty4e1"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/civicdataforge~india-company-registry/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-civicdataforge-india-company-registry",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/civicdataforge~india-company-registry/runs": {
      "post": {
        "operationId": "runs-sync-civicdataforge-india-company-registry",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/civicdataforge~india-company-registry/run-sync": {
      "post": {
        "operationId": "run-sync-civicdataforge-india-company-registry",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "nameContains": {
            "title": "Company name contains",
            "type": "string",
            "description": "Case-insensitive name substring within the server-filtered pool. Pair with a state or class filter for bounded scans."
          },
          "cin": {
            "title": "CIN (exact)",
            "type": "string",
            "description": "Exact Corporate Identification Number."
          },
          "cins": {
            "title": "CINs for exact bulk lookup",
            "maxItems": 5000,
            "type": "array",
            "description": "Up to 5,000 exact CINs. Each is looked up independently and returned with per-record evidence.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "companyNameExact": {
            "title": "Company name (exact)",
            "type": "string",
            "description": "Exact official registered company-name filter."
          },
          "companyNames": {
            "title": "Company names for exact bulk lookup",
            "maxItems": 5000,
            "type": "array",
            "description": "Up to 5,000 exact registered names. Combine with CINs; ambiguous keyword matching is deliberately excluded.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "maxConcurrency": {
            "title": "Bulk lookup concurrency",
            "minimum": 1,
            "maximum": 8,
            "type": "integer",
            "description": "Parallel exact lookups from 1 to 8. Lower this if the caller-owned OGD key is rate-limited.",
            "default": 5
          },
          "includeLei": {
            "title": "Cross-check GLEIF LEI data",
            "type": "boolean",
            "description": "For each returned CIN, query the official public GLEIF API for an exact registered-identifier match and attach LEI identity, validation, renewal, and address evidence. No fuzzy match is accepted.",
            "default": false
          },
          "includeRbiRegulatoryStatus": {
            "title": "Cross-check RBI registered NBFC/ARC data",
            "type": "boolean",
            "description": "For each returned CIN, check the current dated RBI registered NBFC/ARC workbook by exact CIN. No-match means only that the CIN was not found in that dated workbook; cancelled status is never inferred.",
            "default": false
          },
          "state": {
            "title": "Registered state",
            "type": "string",
            "description": "Exact official registered-state filter."
          },
          "status": {
            "title": "Company status",
            "type": "string",
            "description": "Exact official company-status filter."
          },
          "companyClass": {
            "title": "Company class",
            "type": "string",
            "description": "Exact official class filter."
          },
          "category": {
            "title": "Company category",
            "type": "string",
            "description": "Exact official category filter."
          },
          "roc": {
            "title": "Registrar of Companies",
            "type": "string",
            "description": "Exact Registrar of Companies filter."
          },
          "maxRecords": {
            "title": "Maximum records",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Bounded result limit from 1 to 50,000.",
            "default": 100
          },
          "previousFingerprints": {
            "title": "Previous CIN fingerprints",
            "maxItems": 5000,
            "type": "array",
            "description": "Optional caller-controlled prior receipt items: [{\"cin\":\"...\",\"record_fingerprint\":\"sha256:...\"}]. Returned CINs become new, changed, or unchanged. Removed records are never inferred from a bounded query.",
            "items": {
              "type": "object",
              "properties": {
                "cin": {
                  "title": "Corporate Identification Number",
                  "description": "CIN used as the stable entity key for comparison.",
                  "type": "string"
                },
                "record_fingerprint": {
                  "title": "Prior record fingerprint",
                  "description": "SHA-256 record fingerprint from an earlier Actor result.",
                  "type": "string"
                }
              },
              "required": [
                "cin",
                "record_fingerprint"
              ]
            },
            "default": []
          },
          "portfolioBaseline": {
            "title": "Customer-owned exact-CIN portfolio baseline",
            "maxItems": 5000,
            "type": "array",
            "description": "Up to 5,000 accepted prior CIN receipts. Produces PORTFOLIO-REFRESH, SOURCE-VINTAGE, JSON, and spreadsheet-safe CSV exports. When supplied, this baseline takes precedence over previousFingerprints.",
            "items": {
              "type": "object",
              "properties": {
                "cin": {
                  "title": "Corporate Identification Number",
                  "description": "Structurally valid exact CIN used as the stable customer-owned subject key.",
                  "type": "string",
                  "pattern": "^[LU][0-9]{5}[A-Z]{2}[0-9]{4}[A-Z]{3}[0-9]{6}$"
                },
                "record_fingerprint": {
                  "title": "Prior MCA record fingerprint",
                  "description": "Accepted SHA-256 record fingerprint from an earlier Actor result.",
                  "type": "string",
                  "pattern": "^sha256:[a-f0-9]{64}$"
                },
                "company_name": {
                  "title": "Prior company name",
                  "description": "Optional name retained by the customer to make legal-name changes explicit.",
                  "type": "string"
                },
                "lei_evidence_hash": {
                  "title": "Prior GLEIF evidence fingerprint",
                  "description": "Optional SHA-256 fingerprint from an earlier exact-CIN GLEIF observation.",
                  "type": "string",
                  "pattern": "^sha256:[a-f0-9]{64}$"
                },
                "rbi_record_fingerprint": {
                  "title": "Prior RBI record fingerprint",
                  "description": "Optional SHA-256 fingerprint from an earlier exact-CIN RBI workbook match.",
                  "type": "string",
                  "pattern": "^sha256:[a-f0-9]{64}$"
                },
                "accepted_at": {
                  "title": "Baseline acceptance time",
                  "description": "Optional ISO timestamp recorded by the customer when this baseline was accepted.",
                  "type": "string"
                }
              },
              "required": [
                "cin",
                "record_fingerprint"
              ]
            },
            "default": []
          },
          "onlyChanges": {
            "title": "Return only new or changed CINs",
            "type": "boolean",
            "description": "Requires previousFingerprints. Unchanged returned records are omitted.",
            "default": false
          },
          "evidencePackets": {
            "title": "Customer-authorized evidence packets",
            "maxItems": 1000,
            "type": "array",
            "description": "Optional structured directors, charges, and filings supplied by the caller under an attested lawful-use basis. The Actor does not fetch sourceReference and labels every packet caller_provided_unverified.",
            "items": {
              "type": "object",
              "properties": {
                "cin": {
                  "title": "Corporate Identification Number",
                  "description": "Exact CIN to which this evidence packet belongs.",
                  "type": "string"
                },
                "sourceType": {
                  "title": "Source type",
                  "description": "Declared origin category for the caller-controlled evidence.",
                  "type": "string",
                  "enum": [
                    "owner_provided_mca_document",
                    "licensed_provider_export",
                    "government_open_data",
                    "customer_system_record"
                  ]
                },
                "rightsBasis": {
                  "title": "Rights basis",
                  "description": "Caller's declared basis for processing and supplying the evidence.",
                  "type": "string",
                  "enum": [
                    "owned_record",
                    "licensed_for_this_use",
                    "government_open_license",
                    "entity_authorized"
                  ]
                },
                "authorizedUseAttested": {
                  "title": "Authorized-use attestation",
                  "description": "Must be true; caller attests it is authorized to submit and process this evidence for this use.",
                  "type": "boolean"
                },
                "sourceReference": {
                  "title": "Source reference",
                  "description": "Document identifier or source URL recorded for provenance; the Actor does not fetch it.",
                  "type": "string"
                },
                "licenseReference": {
                  "title": "License reference",
                  "description": "Optional license, contract, or authorization reference supporting the rights basis.",
                  "type": "string"
                },
                "retrievedAt": {
                  "title": "Retrieved at",
                  "description": "ISO timestamp when the caller obtained the source evidence.",
                  "type": "string"
                },
                "contentSha256": {
                  "title": "Source content SHA-256",
                  "description": "Hash of the caller-controlled source bytes formatted sha256:<64 lowercase hex>.",
                  "type": "string"
                },
                "directors": {
                  "title": "Director assertions",
                  "description": "Structured director assertions from the referenced caller-controlled source; contact details are deliberately excluded.",
                  "type": "array",
                  "maxItems": 100,
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "title": "Director name",
                        "description": "Name exactly as asserted by the source.",
                        "type": "string"
                      },
                      "din": {
                        "title": "DIN",
                        "description": "Director Identification Number asserted by the source.",
                        "type": "string"
                      },
                      "designation": {
                        "title": "Designation",
                        "description": "Director or signatory designation asserted by the source.",
                        "type": "string"
                      },
                      "appointmentDate": {
                        "title": "Appointment date",
                        "description": "Appointment date asserted by the source.",
                        "type": "string"
                      },
                      "cessationDate": {
                        "title": "Cessation date",
                        "description": "Cessation date asserted by the source, if any.",
                        "type": "string"
                      },
                      "status": {
                        "title": "Association status",
                        "description": "Association status asserted by the source.",
                        "type": "string"
                      }
                    }
                  }
                },
                "charges": {
                  "title": "Charge assertions",
                  "description": "Structured registered-charge assertions from the referenced caller-controlled source.",
                  "type": "array",
                  "maxItems": 500,
                  "items": {
                    "type": "object",
                    "properties": {
                      "chargeId": {
                        "title": "Charge identifier",
                        "description": "Charge identifier asserted by the source.",
                        "type": "string"
                      },
                      "holderName": {
                        "title": "Charge holder",
                        "description": "Lender or charge-holder name asserted by the source.",
                        "type": "string"
                      },
                      "amountInr": {
                        "title": "Charge amount INR",
                        "description": "Non-negative charge amount in INR asserted by the source.",
                        "type": "number"
                      },
                      "creationDate": {
                        "title": "Creation date",
                        "description": "Charge creation date asserted by the source.",
                        "type": "string"
                      },
                      "satisfactionDate": {
                        "title": "Satisfaction date",
                        "description": "Charge satisfaction date asserted by the source, if any.",
                        "type": "string"
                      },
                      "status": {
                        "title": "Charge status",
                        "description": "Open, satisfied, or other status asserted by the source.",
                        "type": "string"
                      }
                    }
                  }
                },
                "filings": {
                  "title": "Filing assertions",
                  "description": "Structured filing assertions from the referenced caller-controlled source.",
                  "type": "array",
                  "maxItems": 1000,
                  "items": {
                    "type": "object",
                    "properties": {
                      "formType": {
                        "title": "Form type",
                        "description": "MCA form type asserted by the source.",
                        "type": "string"
                      },
                      "filingDate": {
                        "title": "Filing date",
                        "description": "Filing date asserted by the source.",
                        "type": "string"
                      },
                      "financialYear": {
                        "title": "Financial year",
                        "description": "Financial year asserted by the source.",
                        "type": "string"
                      },
                      "documentId": {
                        "title": "Document identifier",
                        "description": "Source document identifier asserted by the source.",
                        "type": "string"
                      }
                    }
                  }
                }
              },
              "required": [
                "cin",
                "sourceType",
                "rightsBasis",
                "authorizedUseAttested",
                "sourceReference",
                "retrievedAt",
                "contentSha256"
              ]
            },
            "default": []
          },
          "apiKey": {
            "title": "data.gov.in API key",
            "type": "string",
            "description": "Optional caller-owned key for the first credential tier and a private quota. The Actor next tries its configured DATA_GOV_APIKEY, then the official portal's published fallback. Key material is never returned in records or receipts."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}