> ## 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 Output Types

> Retrieve a paginated list of research output types.

Retrieves a paginated list of research output 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 output type records.

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

    <ResponseField name="code" type="string">
      Output type code (e.g. `article`, `book`, `dataset`).
    </ResponseField>

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

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

    <ResponseField name="outputs_count" type="integer">
      Total research outputs count associated with this 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/output-types?page=1&per_page=25"
  ```

  ```javascript JavaScript theme={null}
  fetch("https://api.hexagraph.in/references/output-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/output-types",
      params={"page": 1, "per_page": 25}
  )

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

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "meta": {
      "count": 25,
      "page": 1,
      "per_page": 25
    },
    "results": [
      {
        "id": 1,
        "code": "article",
        "name": "article",
        "description": "Original, citable research usually in a journal, including full research papers, brief communications, technical notes, and full-paper case reports.",
        "outputs_count": 240947694,
        "cited_by_count": 2544326651,
        "created_date": "2024-02-12T12:17:41.000Z",
        "updated_date": "2026-08-02T06:04:22.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>
