Indian Institute of Technology Kharagpur API Rules

Spectral linting rules defining API design standards and conventions for Indian Institute of Technology Kharagpur.

0 Rules
View Rules File View on GitHub

Spectral Ruleset

Raw ↑
generated: '2026-09-01'
method: derived
source: >-
  Rules written against the two institution-operated contracts in openapi/, derived from live
  behaviour observed on 2026-09-01. Not published by IIT Kharagpur.
x-operator: institution
description: >-
  Consumption rules for IIT Kharagpur's two unauthenticated surfaces. Each rule exists because the
  behaviour it guards against was actually observed, not because a linter template suggested it.
rules:
  - id: cep-never-branch-on-status
    surface: erp-cep
    severity: error
    rule: >-
      Never treat HTTP 200 from /resources/external/cepdata as "brochure found". An unknown
      course_id, a course with no brochure and a missing course_id all return 200. Branch on
      Content-Type == application/pdf, or on a non-zero Content-Length.
  - id: cep-do-not-negotiate
    surface: erp-cep
    severity: warning
    rule: >-
      Do not send Accept: application/json. The resource produces application/pdf only and answers
      406 with a Tomcat HTML error page. Send no Accept header, or Accept: application/pdf.
  - id: cep-leave-slashes-unencoded
    surface: erp-cep
    severity: warning
    rule: >-
      course_id contains forward slashes and the institute's own links send them unencoded. Percent
      encoding them was not observed to be supported; reproduce the institute's own form.
  - id: cep-no-enumeration
    surface: erp-cep
    severity: info
    rule: >-
      There is no list operation. The only published index of valid course_id values is the
      institute homepage at https://www.iitkgp.ac.in/, which links 200 of them. Scrape the index
      from there; do not guess serial numbers.
  - id: idr-rewrite-localhost-identifiers
    surface: idr-opensearch
    severity: error
    rule: >-
      Every <id> and <link> in the repository feed is emitted with the authority
      http://127.0.0.1. Rewrite the authority to http://www.idr.iitkgp.ac.in before storing or
      dereferencing an identifier, and never persist the raw value — it will resolve to the
      consumer's own machine.
  - id: idr-request-atom-explicitly
    surface: idr-opensearch
    severity: warning
    rule: >-
      Pass format=atom. Every other value of format, including unsupported ones, silently returns
      text/xml rather than erroring, so a client that omits it cannot tell whether its requested
      representation was honoured.
  - id: idr-empty-query-is-not-an-error
    surface: idr-opensearch
    severity: warning
    rule: >-
      A missing query returns 200 with an empty feed. Check opensearch:totalResults, not the status
      code, before concluding that a search matched nothing.
  - id: idr-plaintext-transport
    surface: idr-opensearch
    severity: error
    rule: >-
      The repository host has no TLS listener; https://www.idr.iitkgp.ac.in does not complete a
      handshake and idr.iitkgp.ac.in does not resolve. Treat all traffic as observable, send no
      credentials, and do not embed these URLs in an HTTPS page that will block mixed content.
  - id: idr-no-harvest-path
    surface: idr-opensearch
    severity: info
    rule: >-
      There is no OAI-PMH provider and no deleted-record signal. Incremental harvesting is not
      possible; a consumer wanting a full corpus must page the search endpoint with query=* and
      rpp, and cannot learn that an item was withdrawn.
  - id: no-vendor-surface-as-institution
    surface: all
    severity: error
    rule: >-
      Do not attribute iitkgp.irins.org (INFLIBNET) or alumni.iitkgp.ac.in (AlmaConnect) contracts
      to IIT Kharagpur. Both are tenant deployments: the data is the institute's, the contract is
      the vendor's, and no vendor spec is stored in this repository.

Work with this as data

Every ruleset 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 spectral rules

4 MCP tools reach this
  • find_rulesBrowse and filter every ruleset 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 ruleset
curl "https://apis.io/api/v1/rules/indian-institute-of-technology-kharagpur-rules"
All spectral rules
curl "https://apis.io/api/v1/rules?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.