> ## 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.

# Get Concept Relationships by Type

> Retrieve one relationship type for a concept using the relationship type as a path parameter.

Returns relationships whose `relationship_id` exactly matches the path value.
For new integrations, prefer [List Relationships for a Concept](/api-reference/relationships/get-concept-relationships)
with the `relationship_ids` query parameter; that endpoint also supports
validity, vocabulary, domain, direction, and standard-concept filters.

<Note>
  The path value is case-sensitive and may contain spaces. URL-encode values
  such as `Is a` as `Is%20a`.
</Note>

<Warning>
  This compatibility shortcut includes invalid relationships and concepts. Use
  the canonical relationship endpoint with `relationship_ids` and the default
  `include_invalid=false` when you only want current records.
</Warning>

## Path Parameters

<ParamField path="concept_id" type="integer" required>
  Concept whose outgoing relationships are returned.
</ParamField>

<ParamField path="relationship_type" type="string" required>
  Exact OMOP relationship identifier, for example `Is a` or `Maps to`.
</ParamField>

## Query Parameters

<ParamField query="page" type="integer" optional default="1" min="1">
  Page number, using one-based indexing.
</ParamField>

<ParamField query="page_size" type="integer" optional default="20" min="1" max="200">
  Relationships per page. Values above 200 are clamped to 200.
</ParamField>

<ParamField query="vocab_release" type="string" optional>
  Vocabulary release to query. When omitted, the current default release is
  used.
</ParamField>

## Response

<ResponseField name="success" type="boolean">
  Whether the lookup completed.
</ResponseField>

<ResponseField name="data" type="array">
  Matching relationships for the requested page.

  <Expandable title="Relationship object">
    <ResponseField name="concept_id_1" type="integer">
      Stored source concept identifier.
    </ResponseField>

    <ResponseField name="concept_id_2" type="integer">
      Stored target concept identifier.
    </ResponseField>

    <ResponseField name="relationship_id" type="string">
      Relationship identifier matched by the path value.
    </ResponseField>

    <ResponseField name="relationship_name" type="string">
      Relationship display name.
    </ResponseField>

    <ResponseField name="reverse_relationship_id" type="string">
      Identifier for the reverse relationship.
    </ResponseField>

    <ResponseField name="concept_1" type="object">
      Stored source concept.

      <Expandable title="Source concept">
        <ResponseField name="concept_id" type="integer">
          Concept identifier.
        </ResponseField>

        <ResponseField name="concept_name" type="string">
          Concept name.
        </ResponseField>

        <ResponseField name="concept_code" type="string">
          Source vocabulary code.
        </ResponseField>

        <ResponseField name="vocabulary_id" type="string">
          Vocabulary identifier.
        </ResponseField>

        <ResponseField name="vocabulary_name" type="string">
          Vocabulary name.
        </ResponseField>

        <ResponseField name="domain_id" type="string">
          OMOP domain.
        </ResponseField>

        <ResponseField name="concept_class_id" type="string">
          Concept class.
        </ResponseField>

        <ResponseField name="standard_concept" type="string|null">
          Standard-concept flag.
        </ResponseField>

        <ResponseField name="valid_start_date" type="string">
          Validity start timestamp.
        </ResponseField>

        <ResponseField name="valid_end_date" type="string">
          Validity end timestamp.
        </ResponseField>

        <ResponseField name="invalid_reason" type="string|null">
          Invalidity marker, or `null`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="concept_2" type="object">
      Stored target concept.

      <Expandable title="Target concept">
        <ResponseField name="concept_id" type="integer">
          Concept identifier.
        </ResponseField>

        <ResponseField name="concept_name" type="string">
          Concept name.
        </ResponseField>

        <ResponseField name="concept_code" type="string">
          Source vocabulary code.
        </ResponseField>

        <ResponseField name="vocabulary_id" type="string">
          Vocabulary identifier.
        </ResponseField>

        <ResponseField name="vocabulary_name" type="string">
          Vocabulary name.
        </ResponseField>

        <ResponseField name="domain_id" type="string">
          OMOP domain.
        </ResponseField>

        <ResponseField name="concept_class_id" type="string">
          Concept class.
        </ResponseField>

        <ResponseField name="standard_concept" type="string|null">
          Standard-concept flag.
        </ResponseField>

        <ResponseField name="valid_start_date" type="string">
          Validity start timestamp.
        </ResponseField>

        <ResponseField name="valid_end_date" type="string">
          Validity end timestamp.
        </ResponseField>

        <ResponseField name="invalid_reason" type="string|null">
          Invalidity marker, or `null`.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="valid_start_date" type="string">
      Relationship validity start timestamp.
    </ResponseField>

    <ResponseField name="valid_end_date" type="string">
      Relationship validity end timestamp.
    </ResponseField>

    <ResponseField name="invalid_reason" type="string|null">
      Relationship invalidity marker, or `null`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="meta" type="object">
  <Expandable title="Response metadata">
    <ResponseField name="request_id" type="string">
      Unique request identifier.
    </ResponseField>

    <ResponseField name="timestamp" type="string">
      ISO 8601 response timestamp.
    </ResponseField>

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

    <ResponseField name="pagination" type="object">
      <Expandable title="Pagination">
        <ResponseField name="page" type="integer">
          Current page.
        </ResponseField>

        <ResponseField name="page_size" type="integer">
          Requested effective page size.
        </ResponseField>

        <ResponseField name="total_items" type="integer">
          Number of matching relationships.
        </ResponseField>

        <ResponseField name="total_pages" type="integer">
          Number of pages.
        </ResponseField>

        <ResponseField name="has_next" type="boolean">
          Whether another page exists.
        </ResponseField>

        <ResponseField name="has_previous" type="boolean">
          Whether a previous page exists.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -G "https://api.omophub.com/v1/concepts/201826/relationships/Is%20a" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    --data-urlencode "page_size=20"
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": [
      {
        "concept_id_1": 201826,
        "concept_id_2": 201820,
        "relationship_id": "Is a",
        "relationship_name": "Is a",
        "reverse_relationship_id": "Subsumes",
        "concept_1": {
          "concept_id": 201826,
          "concept_name": "Type 2 diabetes mellitus",
          "concept_code": "44054006",
          "vocabulary_id": "SNOMED",
          "vocabulary_name": "Systematic Nomenclature of Medicine - Clinical Terms (IHTSDO)",
          "domain_id": "Condition",
          "concept_class_id": "Disorder",
          "standard_concept": "S",
          "valid_start_date": "2002-01-31T00:00:00.000Z",
          "valid_end_date": "2099-12-31T00:00:00.000Z",
          "invalid_reason": null
        },
        "concept_2": {
          "concept_id": 201820,
          "concept_name": "Diabetes mellitus",
          "concept_code": "73211009",
          "vocabulary_id": "SNOMED",
          "vocabulary_name": "Systematic Nomenclature of Medicine - Clinical Terms (IHTSDO)",
          "domain_id": "Condition",
          "concept_class_id": "Disorder",
          "standard_concept": "S",
          "valid_start_date": "2002-01-31T00:00:00.000Z",
          "valid_end_date": "2099-12-31T00:00:00.000Z",
          "invalid_reason": null
        },
        "valid_start_date": "2011-07-31T00:00:00.000Z",
        "valid_end_date": "2099-12-31T00:00:00.000Z",
        "invalid_reason": null
      }
    ],
    "meta": {
      "request_id": "7833dc90-cbc3-4034-9ebe-9219330d8f9e",
      "timestamp": "2026-09-12T22:28:47.416Z",
      "vocab_release": "2026.2",
      "pagination": {
        "page": 1,
        "page_size": 20,
        "total_items": 1,
        "total_pages": 1,
        "has_next": false,
        "has_previous": false
      }
    }
  }
  ```
</ResponseExample>
