Clinia
Data PartitionSearch

Search accross resource or relationship collections in the data partition

POST
/partitions/{partitionKey}/v1/federated/{collectionKeys}/query

Search across resource or relationship collections in the data partition. This endpoint only accepts federated search paths, which means that one using an operator it expects the collection type and collection key to be specified in the path. For example, resources.<collectionKey>.<propertyKey>. Filters, sorting, aggregations and highlighting use the same federated path syntax.

X-Clinia-API-Key<token>

In: header

Path Parameters

partitionKey*string

The partition from which to execute the query.

collectionKeys*string

The collections that should be included in the search. Specifying multiple collections is done by separating them with a comma.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Use dot-notation paths (e.g., name, meta.updatedAt, address.city). To include properties from relationships or adjacent records, request them via traversedProperties and reference with @ (e.g., @worksAt.*, @worksAt.@clinic.name). Some endpoints require federated paths such as resources.<collectionKey>.<propertyKey> or relationships.<collectionKey>.<propertyKey>.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/partitions/string/v1/federated/collection1,collection2/query" \  -H "Content-Type: application/json" \  -d '{}'
{  "semanticQueryInfo": {    "reasoning": "string",    "originalQuery": "string",    "query": {      "id": "string",      "and": [        null      ]    },    "filter": {      "id": "string",      "and": [        null      ]    }  },  "hits": [    {      "hitType": "RESOURCE",      "score": 0.1,      "resource": {},      "traversedProperties": {        "property1": [          {            "type": "address",            "value": {},            "relationshipId": "string",            "relationshipType": "string",            "recordId": "string",            "recordType": "string"          }        ],        "property2": [          {            "type": "address",            "value": {},            "relationshipId": "string",            "relationshipType": "string",            "recordId": "string",            "recordType": "string"          }        ]      },      "highlighting": {        "property1": [          {            "type": "textual",            "highlight": "string"          }        ],        "property2": [          {            "type": "textual",            "highlight": "string"          }        ]      }    }  ],  "meta": {    "numPages": 0,    "page": 0,    "perPage": 0,    "total": 0,    "filter": {      "id": "string",      "and": [        null      ]    }  },  "aggregates": [    {      "type": "LEXICAL",      "path": "string",      "aggregate": [        {          "value": "string",          "count": 0        }      ]    }  ]}