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

# List Vocabularies

> Get a paginated list of all available OMOP medical vocabularies - SNOMED CT, ICD-10, LOINC, RxNorm, ATC, HCPCS, and 100+ OHDSI-supported terminologies.

This endpoint returns a paginated list of all available medical vocabularies in the system, including SNOMED CT, ICD-10-CM, LOINC, RxNorm, and others.

## Query Parameters

<ParamField query="page" type="integer" optional default="1">
  Page number for pagination (1-based).
</ParamField>

<ParamField query="page_size" type="integer" optional default="20">
  Number of vocabularies to return per page (max 1000).
</ParamField>

<ParamField query="include_stats" type="boolean" optional default="false">
  Include concept count statistics for each vocabulary.
</ParamField>

<ParamField query="include_inactive" type="boolean" optional default="false">
  Include inactive or deprecated vocabularies in the results.
</ParamField>

<ParamField query="sort_by" type="string" optional default="name">
  Sort field. Options: `name`, `priority`, `updated`
</ParamField>

<ParamField query="sort_order" type="string" optional default="asc">
  Sort order. Options: `asc`, `desc`
</ParamField>

<ParamField query="vocab_release" type="string" optional>
  Specific vocabulary release version (e.g., "2025.1"). Defaults to the latest available release.
</ParamField>

## Response

<ResponseField name="success" type="boolean">
  Indicates if the request was successful.
</ResponseField>

<ResponseField name="data" type="object">
  Response data container.

  <Expandable title="Data Object">
    <ResponseField name="vocabularies" type="array">
      Array of vocabulary objects.

      <Expandable title="Vocabulary Object">
        <ResponseField name="vocabulary_id" type="string">
          Unique identifier for the vocabulary (e.g., "SNOMED", "ICD10CM").
        </ResponseField>

        <ResponseField name="vocabulary_name" type="string">
          Full name of the vocabulary.
        </ResponseField>

        <ResponseField name="vocabulary_reference" type="string">
          Reference or source organization for the vocabulary.
        </ResponseField>

        <ResponseField name="vocabulary_version" type="string">
          Version identifier of the vocabulary.
        </ResponseField>

        <ResponseField name="vocabulary_concept_id" type="integer">
          OMOP concept ID representing this vocabulary.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="meta" type="object">
  Response metadata and pagination information.

  <Expandable title="Metadata Object">
    <ResponseField name="request_id" type="string">
      Unique identifier for this request.
    </ResponseField>

    <ResponseField name="vocab_release" type="string">
      Vocabulary release version used.
    </ResponseField>

    <ResponseField name="timestamp" type="string">
      Response timestamp (ISO format).
    </ResponseField>

    <ResponseField name="pagination" type="object">
      <ResponseField name="page" type="integer">Current page number.</ResponseField>
      <ResponseField name="page_size" type="integer">Items per page.</ResponseField>
      <ResponseField name="total_items" type="integer">Total vocabularies available.</ResponseField>
      <ResponseField name="total_pages" type="integer">Total number of pages.</ResponseField>
      <ResponseField name="has_next" type="boolean">Whether next page exists.</ResponseField>
      <ResponseField name="has_previous" type="boolean">Whether previous page exists.</ResponseField>
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.omophub.com/v1/vocabularies" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

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

  response = requests.get(
      "https://api.omophub.com/v1/vocabularies",
      headers={"Authorization": "Bearer YOUR_API_KEY"}
  )
  data = response.json()
  for vocab in data["data"]["vocabularies"]:
      print(f"{vocab['vocabulary_id']}: {vocab['vocabulary_name']}")
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.omophub.com/v1/vocabularies', {
    headers: {
      'Authorization': 'Bearer YOUR_API_KEY'
    }
  });
  const data = await response.json();
  data.data.vocabularies.forEach(vocab => {
    console.log(`${vocab.vocabulary_id}: ${vocab.vocabulary_name}`);
  });
  ```

  ```bash cURL (with options) theme={null}
  curl -X GET "https://api.omophub.com/v1/vocabularies?include_stats=true&sort_by=name&sort_order=asc&page_size=50" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```python Python (with options) theme={null}
  import requests

  response = requests.get(
      "https://api.omophub.com/v1/vocabularies",
      params={
          "include_stats": True,
          "sort_by": "name",
          "sort_order": "asc",
          "page_size": 50
      },
      headers={"Authorization": "Bearer YOUR_API_KEY"}
  )
  data = response.json()
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "success": true,
    "data": {
      "vocabularies": [
        {
          "vocabulary_id": "SNOMED",
          "vocabulary_name": "Systematized Nomenclature of Medicine Clinical Terms",
          "vocabulary_reference": "SNOMED CT",
          "vocabulary_version": "US Edition 20240301",
          "vocabulary_concept_id": 45756746
        },
        {
          "vocabulary_id": "ICD10CM",
          "vocabulary_name": "International Classification of Diseases, Tenth Revision, Clinical Modification",
          "vocabulary_reference": "CMS",
          "vocabulary_version": "2024",
          "vocabulary_concept_id": 45756681
        },
        {
          "vocabulary_id": "LOINC",
          "vocabulary_name": "Logical Observation Identifiers Names and Codes",
          "vocabulary_reference": "Regenstrief Institute",
          "vocabulary_version": "2.76",
          "vocabulary_concept_id": 45756747
        },
        {
          "vocabulary_id": "RxNorm",
          "vocabulary_name": "RxNorm",
          "vocabulary_reference": "National Library of Medicine",
          "vocabulary_version": "2024-03-04",
          "vocabulary_concept_id": 45756748
        }
      ]
    },
    "meta": {
      "request_id": "req_abc123",
      "vocab_release": "2025.1",
      "timestamp": "2025-01-05T10:00:00Z",
      "pagination": {
        "page": 1,
        "page_size": 20,
        "total_items": 25,
        "total_pages": 2,
        "has_next": true,
        "has_previous": false
      }
    }
  }
  ```
</ResponseExample>

## Usage Examples

### Basic List

Get all vocabularies with default pagination:

```bash theme={null}
GET /v1/vocabularies
```

### With Statistics

Include concept counts for each vocabulary:

```bash theme={null}
GET /v1/vocabularies?include_stats=true
```

### Sorted by Name

Get vocabularies sorted alphabetically:

```bash theme={null}
GET /v1/vocabularies?sort_by=name&sort_order=asc
```

### Include Inactive

Include deprecated vocabularies:

```bash theme={null}
GET /v1/vocabularies?include_inactive=true
```

## Related Endpoints

* [Get Vocabulary](/api-reference/vocabularies/get-vocabulary) - Get details for a specific vocabulary
* [Search Vocabularies](/api-reference/vocabularies/search-vocabularies) - Search vocabularies by name
* [Get Vocabulary Concepts](/api-reference/vocabularies/get-vocabulary-concepts) - Get concepts within a vocabulary
