IndiaCos · Schema

Gst

DataComplianceIndiaBusinessPublic Records

Properties

Name Type Description
gstin string
legal_name string
trade_name stringnull
pan string
pan_holder_type string
constitution string
taxpayer_type string
status string
registration_date string
nature_of_business array
address object Principal place of business. The GST portal publishes it as one line (full); city, district and pincode are read from it. street repeats full for older clients.
additional_addresses array Additional places of business. The public GST portal does not publish them, so this is empty for now.
jurisdiction object centre and state as the portal writes them, and the same split into named parts (zone, commissionerate, division, range; state, district, ward ...)
core_business_activity objectnull Nature of core business activity
aadhaar_authenticated_on stringnull
profile object completeness: full once the record has been read from the GST portal, basic while only the GSTIN and name are on record. A basic record is read live during the call (waits up to ~25 s); refreshing: tr
same_pan_registrations objectnull
trademarks objectnull
court_cases_api string
turnover_band objectnull
contact object email and mobile: masked, or in full (with full: true) on keys with contact access
cancellation_date stringnull
aadhaar_authenticated booleannull
einvoice_enabled boolean
flags array
company objectnull
return_filings array GST returns on record. period is a month name, a quarter (QRMP filers file in the last month of the quarter) or Annual; null period = a year-level record.
portal_checks objectnull From the GST portal taxpayer profile, when we have read it. Booleans are null when the portal gives no value.
shared_address objectnull
regulatory object
retrieved_on string
url string
View JSON Schema on GitHub

JSON Schema

indiacos-com-gst-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/indiacos-com/json-schema/indiacos-com-gst-schema.json",
  "title": "Gst",
  "x-generated": "2026-11-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/indiacos-com-openapi.json#/components/schemas/Gst",
  "type": "object",
  "properties": {
    "gstin": {
      "type": "string"
    },
    "legal_name": {
      "type": "string"
    },
    "trade_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "pan": {
      "type": "string"
    },
    "pan_holder_type": {
      "type": "string"
    },
    "constitution": {
      "type": "string"
    },
    "taxpayer_type": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "registration_date": {
      "type": "string",
      "format": "date"
    },
    "nature_of_business": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "address": {
      "type": "object",
      "description": "Principal place of business. The GST portal publishes it as one line (full); city, district and pincode are read from it. street repeats full for older clients.",
      "properties": {
        "full": {
          "type": [
            "string",
            "null"
          ]
        },
        "street": {
          "type": [
            "string",
            "null"
          ]
        },
        "locality": {
          "type": [
            "string",
            "null"
          ]
        },
        "city": {
          "type": [
            "string",
            "null"
          ]
        },
        "district": {
          "type": [
            "string",
            "null"
          ]
        },
        "state": {
          "type": [
            "string",
            "null"
          ]
        },
        "state_code": {
          "type": "string"
        },
        "pincode": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "additional_addresses": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "description": "Additional places of business. The public GST portal does not publish them, so this is empty for now."
    },
    "jurisdiction": {
      "type": "object",
      "description": "centre and state as the portal writes them, and the same split into named parts (zone, commissionerate, division, range; state, district, ward ...)",
      "properties": {
        "centre": {
          "type": [
            "string",
            "null"
          ]
        },
        "state": {
          "type": [
            "string",
            "null"
          ]
        },
        "centre_detail": {
          "type": [
            "object",
            "null"
          ]
        },
        "state_detail": {
          "type": [
            "object",
            "null"
          ]
        }
      }
    },
    "core_business_activity": {
      "type": [
        "object",
        "null"
      ],
      "description": "Nature of core business activity",
      "properties": {
        "code": {
          "type": "string",
          "description": "MFT, SPO, TRD:TRR, TRD:TWD"
        },
        "description": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "aadhaar_authenticated_on": {
      "type": [
        "string",
        "null"
      ],
      "format": "date"
    },
    "profile": {
      "type": "object",
      "description": "completeness: full once the record has been read from the GST portal, basic while only the GSTIN and name are on record. A basic record is read live during the call (waits up to ~25 s); refreshing: true means it is still being read - retry in a minute.",
      "properties": {
        "completeness": {
          "type": "string",
          "enum": [
            "full",
            "basic"
          ]
        },
        "refreshing": {
          "type": "boolean"
        },
        "last_read_from_portal": {
          "type": [
            "string",
            "null"
          ]
        },
        "note": {
          "type": [
            "string",
            "null"
          ]
        }
      }
    },
    "same_pan_registrations": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "count": {
          "type": "integer"
        },
        "api": {
          "type": "string"
        }
      }
    },
    "trademarks": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "total": {
          "type": "integer"
        },
        "api": {
          "type": "string"
        }
      }
    },
    "court_cases_api": {
      "type": "string"
    },
    "turnover_band": {
      "type": [
        "object",
        "null"
      ]
    },
    "contact": {
      "type": "object",
      "description": "email and mobile: masked, or in full (with full: true) on keys with contact access",
      "properties": {
        "email": {
          "type": [
            "string",
            "null"
          ]
        },
        "mobile": {
          "type": [
            "string",
            "null"
          ]
        },
        "full": {
          "type": "boolean"
        }
      }
    },
    "cancellation_date": {
      "type": [
        "string",
        "null"
      ],
      "format": "date"
    },
    "aadhaar_authenticated": {
      "type": [
        "boolean",
        "null"
      ]
    },
    "einvoice_enabled": {
      "type": "boolean"
    },
    "flags": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "company": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "cin": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "api": {
          "type": "string"
        }
      }
    },
    "return_filings": {
      "type": "array",
      "description": "GST returns on record. period is a month name, a quarter (QRMP filers file in the last month of the quarter) or Annual; null period = a year-level record.",
      "items": {
        "type": "object",
        "properties": {
          "form": {
            "type": "string"
          },
          "financial_year": {
            "type": "string"
          },
          "period": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string"
          },
          "filed_on": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          }
        }
      }
    },
    "portal_checks": {
      "type": [
        "object",
        "null"
      ],
      "description": "From the GST portal taxpayer profile, when we have read it. Booleans are null when the portal gives no value.",
      "properties": {
        "checked_on": {
          "type": "string",
          "format": "date"
        },
        "field_visit_conducted": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "aadhaar_authenticated": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "aadhaar_authenticated_on": {
          "type": [
            "string",
            "null"
          ],
          "format": "date"
        },
        "ekyc_verified": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "einvoice_enabled": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "core_business": {
          "type": [
            "string",
            "null"
          ],
          "description": "Portal code: MFT manufacturer, TRD:TRR retail trader, TRD:TWD wholesale trader, SPO service provider"
        }
      }
    },
    "shared_address": {
      "type": [
        "object",
        "null"
      ]
    },
    "regulatory": {
      "$ref": "#/$defs/Regulatory"
    },
    "retrieved_on": {
      "type": "string"
    },
    "url": {
      "type": "string"
    }
  },
  "$defs": {
    "Regulatory": {
      "type": "array",
      "description": "Entries in regulator lists carrying its CIN, PAN or DIN: IBBI insolvency announcements, RBI NBFC/ARC registration, securities-market orders (SEBI and other authorities, from the exchange list), ROC strike-off lists. Also on /company and /director responses.",
      "items": {
        "type": "object",
        "properties": {
          "list": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "name_in_list": {
            "type": [
              "string",
              "null"
            ]
          },
          "cin": {
            "type": [
              "string",
              "null"
            ]
          },
          "pan": {
            "type": [
              "string",
              "null"
            ]
          },
          "din": {
            "type": [
              "string",
              "null"
            ]
          },
          "date": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "until": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "period": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "details": {
            "type": "object"
          }
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/indiacos-com-gst"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.