> ## Documentation Index
> Fetch the complete documentation index at: https://hexagraph-docs.voyla.in/llms.txt
> Use this file to discover all available pages before exploring further.

# List Institution Types

> Retrieve a paginated list of institution types.

Retrieves a paginated list of institution types.

### Query Parameters

<ParamField query="page" default="1" type="integer">
  Page number for pagination. Default is `1`.
</ParamField>

<ParamField query="per_page" default="25" type="integer">
  Results per page. Allowed values: `10`, `25`, `50`, `100`.
</ParamField>

### Response Fields

<ResponseField name="meta" type="object" required>
  Pagination metadata.

  <Expandable title="meta attributes">
    <ResponseField name="count" type="integer">
      Total number of matching records.
    </ResponseField>

    <ResponseField name="page" type="integer">
      Current page number.
    </ResponseField>

    <ResponseField name="per_page" type="integer">
      Number of records returned per page.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="results" type="array" required>
  Array of institution type records.

  <Expandable title="results item attributes">
    <ResponseField name="id" type="integer">
      Institution type ID.
    </ResponseField>

    <ResponseField name="code" type="string">
      Institution type short code.
    </ResponseField>

    <ResponseField name="name" type="string">
      Institution type name.
    </ResponseField>

    <ResponseField name="description" type="string">
      Description of the institution type.
    </ResponseField>

    <ResponseField name="outputs_count" type="integer">
      Total research outputs count associated with this institution type.
    </ResponseField>

    <ResponseField name="cited_by_count" type="integer">
      Total citations count.
    </ResponseField>

    <ResponseField name="created_date" type="string">
      Creation timestamp.
    </ResponseField>

    <ResponseField name="updated_date" type="string">
      Last updated timestamp.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.hexagraph.in/references/institution-types?page=1&per_page=25"
  ```

  ```javascript JavaScript theme={null}
  fetch("https://api.hexagraph.in/references/institution-types?page=1&per_page=25")
    .then(response => response.json())
    .then(data => console.log(data));
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.hexagraph.in/references/institution-types",
      params={"page": 1, "per_page": 25}
  )

  print(response.json())
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "meta": {
      "count": 8,
      "page": 1,
      "per_page": 25
    },
    "results": [
      {
        "id": 8,
        "code": "archive",
        "name": "archive",
        "description": "Museums, libraries, and zoos that steward research and cultural heritage materials.",
        "outputs_count": 1503054,
        "cited_by_count": 19675943,
        "created_date": "2024-03-20T09:43:51.000Z",
        "updated_date": "2026-08-02T06:04:45.000Z"
      }
    ]
  }
  ```

  ```json 400 Bad Request theme={null}
  {
    "statusCode": 400,
    "message": "Bad Request - Invalid query parameters",
    "error": "Bad Request"
  }
  ```

  ```json 429 Too Many Requests theme={null}
  {
    "statusCode": 429,
    "message": "Rate limit exceeded. Maximum 30 requests per minute.",
    "error": "Too Many Requests"
  }
  ```
</ResponseExample>
