{
  "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": "sjrL8OSmNwZt2dLkB"
  },
  "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 company-master, 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"
                },
                "sourceUpdatedAt": {
                  "title": "Source updated at",
                  "description": "ISO timestamp reported by the provider for the source/export update. Required for licensed company-master evidence unless coverageThrough is supplied.",
                  "type": "string"
                },
                "coverageThrough": {
                  "title": "Coverage through",
                  "description": "ISO timestamp through which the provider asserts source coverage. Required for licensed company-master evidence unless sourceUpdatedAt is supplied.",
                  "type": "string"
                },
                "maximumAgeHours": {
                  "title": "Maximum accepted age in hours",
                  "description": "Partner freshness ceiling. Licensed company-master evidence requires a value greater than zero and no more than 168 hours; the runtime rejects zero.",
                  "type": "number",
                  "minimum": 0,
                  "maximum": 168
                },
                "providerRecordStatus": {
                  "title": "Provider record status",
                  "description": "Explicit provider result state; FOUND, NO_MATCH, SOURCE_UNAVAILABLE, or AMBIGUOUS. A missing source is never converted into NO_MATCH.",
                  "type": "string",
                  "enum": [
                    "FOUND",
                    "NO_MATCH",
                    "SOURCE_UNAVAILABLE",
                    "AMBIGUOUS"
                  ]
                },
                "providerErrorCode": {
                  "title": "Provider error code",
                  "description": "Optional machine-readable provider error code preserved when the provider does not return a found record.",
                  "type": "string"
                },
                "providerRequestId": {
                  "title": "Provider request identifier",
                  "description": "Provider request identifier used to trace the exact upstream response.",
                  "type": "string"
                },
                "providerHttpStatus": {
                  "title": "Provider HTTP status",
                  "description": "Exact provider HTTP response status.",
                  "type": "integer",
                  "minimum": 100,
                  "maximum": 599
                },
                "providerResponseTimeMs": {
                  "title": "Provider response time",
                  "description": "Measured upstream response time in milliseconds.",
                  "type": "number",
                  "minimum": 0
                },
                "providerPriceChargedMinor": {
                  "title": "Provider price charged",
                  "description": "Provider-reported price charged in minor currency units.",
                  "type": "integer",
                  "minimum": 0
                },
                "providerCurrency": {
                  "title": "Provider currency",
                  "description": "Three-letter uppercase currency code for the provider charge.",
                  "type": "string",
                  "pattern": "^[A-Z]{3}$"
                },
                "contentSha256": {
                  "title": "Source content SHA-256",
                  "description": "Hash of the caller-controlled source bytes formatted sha256:<64 lowercase hex>.",
                  "type": "string"
                },
                "companyMaster": {
                  "title": "Company-master assertions",
                  "description": "Optional company-master fields from the referenced caller-controlled source. These fields are reconciled against OGD but remain partner-attested unless independently verified.",
                  "type": "object",
                  "properties": {
                    "companyName": {
                      "title": "Company name",
                      "description": "Legal company name asserted by the referenced source.",
                      "type": "string"
                    },
                    "status": {
                      "title": "Company status",
                      "description": "Company status asserted by the referenced source; not treated as live MCA status.",
                      "type": "string"
                    },
                    "companyType": {
                      "title": "Company type",
                      "description": "Company type asserted by the referenced source.",
                      "type": "string"
                    },
                    "listedStatus": {
                      "title": "Listed status",
                      "description": "Listed or unlisted state asserted by the referenced source.",
                      "type": "string"
                    },
                    "companyClass": {
                      "title": "Company class",
                      "description": "Company class asserted by the referenced source.",
                      "type": "string"
                    },
                    "companyCategory": {
                      "title": "Company category",
                      "description": "Company category asserted by the referenced source.",
                      "type": "string"
                    },
                    "subCategory": {
                      "title": "Company sub-category",
                      "description": "Company sub-category asserted by the referenced source.",
                      "type": "string"
                    },
                    "authorizedCapital": {
                      "title": "Authorized capital",
                      "description": "Non-negative authorized capital in INR asserted by the referenced source.",
                      "type": "number",
                      "minimum": 0
                    },
                    "paidupCapital": {
                      "title": "Paid-up capital",
                      "description": "Non-negative paid-up capital in INR asserted by the referenced source.",
                      "type": "number",
                      "minimum": 0
                    },
                    "dateOfRegistration": {
                      "title": "Registration date",
                      "description": "Registration date asserted by the referenced source in YYYY-MM-DD form.",
                      "type": "string"
                    },
                    "registeredState": {
                      "title": "Registered state",
                      "description": "Registered state asserted by the referenced source.",
                      "type": "string"
                    },
                    "registrarOfCompanies": {
                      "title": "Registrar of Companies",
                      "description": "Registrar of Companies asserted by the referenced source.",
                      "type": "string"
                    },
                    "registeredOfficeAddress": {
                      "title": "Registered office address",
                      "description": "Registered office address asserted by the referenced source.",
                      "type": "string"
                    }
                  }
                },
                "identityHistory": {
                  "title": "Identity history",
                  "description": "Former CIN and legal-name aliases preserved for deterministic entity resolution.",
                  "type": "object",
                  "properties": {
                    "cinHistory": {
                      "title": "CIN history",
                      "description": "Former CIN identifiers asserted by the provider.",
                      "type": "array",
                      "maxItems": 100,
                      "items": {
                        "type": "string"
                      }
                    },
                    "nameHistory": {
                      "title": "Name history",
                      "description": "Former legal names asserted by the provider.",
                      "type": "array",
                      "maxItems": 100,
                      "items": {
                        "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}