Query for Link Associations Between Records

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Overview

Queries associations between a parent record with a child record. Provide either a parent domain, a child domain, or both to filter results. If only the parent is specified, all links from that parent are returned. If only the child is specified, all links to that child are returned.

The response contains metadata about the Link/Association (IDs, relationship), not the full parent or child record fields. To hydrate linked records, use the returned IDs in follow-up calls: (ChildID with GET /api/Contact/{id} or GET /api/File/Query, and ParentID with GET /api/{domain}/{id}).

Record Identification

Parent and child records can be identified in two ways:

  1. By primary key (preferred): Provide parentRecordID or childRecordID.
  2. By match field: Provide both a key value and a field name (e.g., parentRecordKey=POL-2026-001 + parentRecordMatchField=PolicyNumber). Only text or numeric fields are accepted.

If both a primary key and a match field are provided for the same side, the primary key takes priority and the match field is ignored.

For this Query endpoint, record identifiers are optional filters. You can provide just a domain to get all links for that domain, or narrow results by specifying a particular record.

Preconditions

  • At least one of parentDomain or childDomain must be provided.
  • The authenticated user must have View permissions on the specified domain(s).
  • The child domain must be a linkable child type.

Notes

  • Link columns do not support drill-down properties. Use the returned ParentID or ChildID in a subsequent domain query to get full field values.
  • If a match field/key pair is provided but does not resolve to a record, the endpoint returns an error.
  • The relationship parameter is only applicable when querying Contact links.

Examples

Scenario 1: Query all contacts linked to a specific claim:

GET /api/Link/Query?columns=LinkID,ParentID,ChildID,ContactTypeID&parentDomain=Claim&parentRecordID=5001&childDomain=Contact
200 OK
{
  "Domain": "Link",
  "Columns": "LinkID,ParentID,ChildID,ContactTypeID",
  "StartAt": 0,
  "Take": 30,
  "Sort": null,
  "List": [
    {
      "LinkID": 101,
      "ParentID": 5001,
      "ChildID": 2001,
      "ContactTypeID": 3
    },
    {
      "LinkID": 102,
      "ParentID": 5001,
      "ChildID": 2005,
      "ContactTypeID": 7
    }
  ]
}

Scenario 2: Query links using a match field instead of primary key:

GET /api/Link/Query?columns=LinkID,ParentID,ChildID&parentDomain=Policy&parentRecordKey=POL-2026-001&parentRecordMatchField=PolicyNumber&childDomain=Contact
200 OK
{
  "Domain": "Link",
  "Columns": "LinkID,ParentID,ChildID",
  "StartAt": 0,
  "Take": 30,
  "Sort": null,
  "List": [
    {
      "LinkID": 250,
      "ParentID": 67890,
      "ChildID": 3001
    }
  ]
}

Scenario 3: Neither parent nor child domain provided:

GET /api/Link/Query?columns=LinkID
500 Internal Server Error
"Unable to get Links. You must provide at least one of Parent Domain or Child Domain to Query Links."
Query Params
string
required
Defaults to LinkID,ParentDomainID,ParentID,ChildDomainID,ChildID,ContactTypeID,EntryDate,EntryUserID,ModifiedDate,ModifiedUserID,ClientID,AssociationFilterID

A comma-separated list of columns to return. One or more columns must be specified. Potential values include:
LinkID,ParentDomainID,ParentID,ChildDomainID,ChildID,ContactTypeID,EntryDate,EntryUserID,ModifiedDate,ModifiedUserID,ClientID,AssociationFilterID

string

The parent domain name. Values are case-sensitive. At least one of parentDomain or childDomain is required.

integer

The primary key of the parent record. If provided, any parentRecordKey and parentRecordMatchField values are ignored.

string

An alternate way to identify the parent record when parentRecordID is not provided. Specifies the field name to search on (e.g., "PolicyNumber"). Must be paired with parentRecordKey. Only text or numeric fields are accepted.

string

The value to find within the field specified by parentRecordMatchField (e.g., "POL-2026-001"). Must be paired with parentRecordMatchField.
Example:{ "parentDomain": "Policy", "parentRecordID": null, "parentRecordMatchField": "PolicyNumber", "parentRecordKey": "POL-2026-001" }

string
enum

The child domain name. Values are case-sensitive. At least one of parentDomain or childDomain is required.

Allowed:
integer

The primary key of the child record. If provided, any childRecordKey and childRecordMatchField values are ignored.

string

An alternate way to identify the child record when childRecordID is not provided. Specifies the field name to search on (e.g., "ContactNumber"). Must be paired with childRecordKey. Only text or numeric fields are accepted.

string

The value to find within the field specified by childRecordMatchField (e.g., "SMITH-001"). Must be paired with childRecordMatchField.
Example: { "childDomain": "Contact", "childRecordID": null, "childRecordMatchField": "ContactNumber", "childRecordKey": "SMITH-001" }

string

Only applicable when childDomain is Contact. Accepts the Display Code or Description from the Contact Type code list and filters the result to only include records of that relationship type.

:pro tip: Use GET /api/Link/Codes?fieldName=ContactType to retrieve all valid relationship values

integer

Default is 0. If you are fetching subsequent pages of data indicate the record to start with.

integer
Defaults to 30

Number of records to return. Subject to a system maximum of 100. Default take is 30 records.

string

Column(s) to sort by, using View sorting syntax.

Response

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json