Download OpenAPI specification:Download
Complete API reference for the Quasiris Search Cloud — schema management, document feeding, and search.
Pass your token in the X-QSC-Token request header:
X-QSC-Token: <your-token>
Two separate tokens are used depending on the operation:
| Token | Endpoints |
|---|---|
| Admin token | Schema (/api/v1/searchapp/*) |
| Feeding token | Feeding and scheduling (/api/v1/data/*, /api/v1/job/*) |
Search endpoints (/api/v1/search/*) require no authentication.
Replaces the field schema of a search app. QSC syncs the search configuration accordingly. Requires admin token. After updating the schema call Schedule feeding job to re-index the data with the new field configuration.
| tenant required | string Example: demo Tenant code (e.g. |
| code required | string Example: trendware Search app code (e.g. |
required | Array of objects (SearchAppSchemaField) | ||||||||||||||||||||
Array
| |||||||||||||||||||||
{- "fields": [
- {
- "code": "name",
- "dataType": "string",
- "searchMode": "balanced",
- "weight": 3,
- "display": true,
- "facet": false,
- "sort": false,
- "suggest": true,
- "navigation": false,
- "semantic": false
}, - {
- "code": "brand",
- "dataType": "string",
- "searchMode": "balanced",
- "weight": 2,
- "display": true,
- "facet": true,
- "sort": false,
- "suggest": false,
- "navigation": false,
- "semantic": false
}, - {
- "code": "description",
- "dataType": "string",
- "searchMode": "balanced",
- "weight": 1,
- "display": true,
- "facet": false,
- "sort": false,
- "suggest": false,
- "navigation": false,
- "semantic": true
}, - {
- "code": "price",
- "dataType": "double",
- "searchMode": "off",
- "display": true,
- "facet": true,
- "sort": true
}
]
}{- "fields": [
- {
- "code": "name",
- "dataType": "string",
- "searchMode": "balanced",
- "weight": 3,
- "display": false,
- "facet": false,
- "sort": false,
- "suggest": false,
- "navigation": false,
- "semantic": false
}
]
}Schedules a feeding job for the search app. Must be called after every schema update so that QSC re-indexes the data with the new field configuration. Requires feeding token.
| tenant required | string Example: demo Tenant code (e.g. |
| code required | string Example: trendware Search app code (e.g. |
{ }Creates or updates a single document. The body must use the QSC header/payload format. Requires feeding token.
| type required | string Enum: "qsc" "reporting" Example: qsc Document format type. Use |
| tenant required | string Example: demo Tenant code (e.g. |
| code required | string Example: trendware Search app code (e.g. |
| documentId required | string Example: product-1 Unique document identifier |
required | object (DocumentHeaderUpdate) |
required | object Document fields — keys must match the schema field codes |
{- "header": {
- "id": "product-1",
- "action": "update"
}, - "payload": {
- "name": "Running Shoes Pro",
- "brand": "Acme",
- "description": "Lightweight trail running shoes with superior grip.",
- "price": 129.99
}
}{- "id": 0,
- "documentId": "product-1",
- "operation": "update",
- "state": "CREATED",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "finishedAt": "2019-08-24T14:15:22Z"
}Marks a document for deletion from the index. Requires feeding token.
| type required | string Enum: "qsc" "reporting" Example: qsc Document format type. Use |
| tenant required | string Example: demo Tenant code (e.g. |
| code required | string Example: trendware Search app code (e.g. |
| documentId required | string Example: product-1 Unique document identifier |
{- "id": 0,
- "documentId": "product-1",
- "operation": "update",
- "state": "CREATED",
- "type": "string",
- "createdAt": "2019-08-24T14:15:22Z",
- "finishedAt": "2019-08-24T14:15:22Z"
}Returns the current indexed state of a document. Requires feeding token.
| tenant required | string Example: demo Tenant code (e.g. |
| code required | string Example: trendware Search app code (e.g. |
| documentId required | string Example: product-1 Unique document identifier |
[- {
- "name": "Running Shoes Pro",
- "brand": "Acme",
- "description": "Lightweight trail running shoes with superior grip.",
- "price": 129.99
}
]Creates or updates multiple documents in a single request using a JSON array. Each entry must contain a header (with id and action) and a payload (the document fields). Requires feeding token.
| type required | string Enum: "qsc" "reporting" Example: qsc Document format type. Use |
| tenant required | string Example: demo Tenant code (e.g. |
| code required | string Example: trendware Search app code (e.g. |
required | object (DocumentHeaderUpdate) |
required | object Document fields — keys must match the schema field codes |
[- {
- "header": {
- "id": "product-1",
- "action": "update"
}, - "payload": {
- "name": "Running Shoes Pro",
- "brand": "Acme",
- "description": "Lightweight trail running shoes.",
- "price": 129.99
}
}, - {
- "header": {
- "id": "product-2",
- "action": "update"
}, - "payload": {
- "name": "Trail Boots X",
- "brand": "Acme",
- "description": "Durable boots for rough terrain.",
- "price": 89.99
}
}, - {
- "header": {
- "id": "product-3",
- "action": "update"
}, - "payload": {
- "name": "City Sneaker",
- "brand": "Stride",
- "description": "Comfortable everyday sneaker.",
- "price": 59.99
}
}
]{- "message": "OK",
- "statusCode": 200,
- "processedValidDocs": true,
- "documents": [
- {
- "documentId": "string",
- "state": "string"
}
]
}Uploads a file of documents for bulk indexing. The file must contain a JSON array using the header/payload format. Requires feeding token.
| type required | string Enum: "qsc" "reporting" Example: qsc Document format type. Use |
| tenant required | string Example: demo Tenant code (e.g. |
| code required | string Example: trendware Search app code (e.g. |
| file | string <binary> |
{- "message": "OK",
- "statusCode": 200,
- "processedValidDocs": true,
- "documents": [
- {
- "documentId": "string",
- "state": "string"
}
]
}Begins a full-feed cycle. Send all documents via bulk or single-document endpoints, then call End full feed to swap the index. Documents not sent since Start are removed when the cycle ends. Requires feeding token.
| tenant required | string Example: demo Tenant code (e.g. |
| code required | string Example: trendware Search app code (e.g. |
{ }Finalises the full-feed cycle and swaps the index. Documents not sent since Start full feed are removed from the live index. Requires feeding token.
| tenant required | string Example: demo Tenant code (e.g. |
| code required | string Example: trendware Search app code (e.g. |
{ }Execute a search using query parameters. No authentication required.
To filter by a facet, add a query parameter in the form f.{filterId}=value (e.g. f.brand=Acme). The filter ID must match a facet configured in the schema. Multiple values can be repeated: f.brand=Acme&f.brand=Stride.
| tenant required | string Example: demo Tenant code (e.g. |
| code required | string Example: trendware Search app code (e.g. |
| q | string Example: q=running shoes Search query string |
| page | integer Default: 1 Example: page=1 Page number (1-based) |
| rows | integer Default: 10 Example: rows=10 Number of results per page |
| sort | string Example: sort=pricedesc Sort identifier configured in the search app (e.g. |
| userId | string User identifier for personalisation and tracking |
| sessionId | string Session identifier for tracking |
| requestId | string Custom request identifier echoed back in the response |
| requestOrigin | string Origin of the request (e.g. |
{- "statusCode": 200,
- "requestId": "string",
- "time": 42,
- "result": {
- "total": 42,
- "time": 15,
- "documents": [
- {
- "id": "product-1",
- "position": 1,
- "document": {
- "name": "Running Shoes Pro",
- "brand": "Acme",
- "description": "Lightweight trail running shoes with superior grip.",
- "price": 129.99
}
}
], - "facets": [
- {
- "id": "brand",
- "name": "Brand",
- "values": [
- {
- "value": "Acme",
- "count": 12
}
]
}
], - "paging": {
- "page": 1,
- "rows": 10,
- "total": 42,
- "totalPages": 5
}
}
}Execute a search using a JSON body. No authentication required.
| tenant required | string Example: demo Tenant code (e.g. |
| code required | string Example: trendware Search app code (e.g. |
| q | string Search query string |
| page | integer Default: 1 Page number (1-based) |
| rows | integer Default: 10 Number of results per page |
object (SortDTO) Sorting configuration. Only the | |
object Filters keyed by the facet ID configured in the schema. Each value is a Filter object. | |
| userId | string User identifier for personalisation and tracking |
| sessionId | string Session identifier for tracking |
| requestId | string Custom request identifier echoed back in the response |
| requestOrigin | string Origin of the request (e.g. |
{- "q": "shoes",
- "page": 1,
- "rows": 10
}{- "statusCode": 200,
- "requestId": "string",
- "time": 42,
- "result": {
- "total": 42,
- "time": 15,
- "documents": [
- {
- "id": "product-1",
- "position": 1,
- "document": {
- "name": "Running Shoes Pro",
- "brand": "Acme",
- "description": "Lightweight trail running shoes with superior grip.",
- "price": 129.99
}
}
], - "facets": [
- {
- "id": "brand",
- "name": "Brand",
- "values": [
- {
- "value": "Acme",
- "count": 12
}
]
}
], - "paging": {
- "page": 1,
- "rows": 10,
- "total": 42,
- "totalPages": 5
}
}
}Returns autocomplete suggestions for a partial query. No authentication required.
| tenant required | string Example: demo Tenant code (e.g. |
| code required | string Example: trendware Search app code (e.g. |
| q | string Example: q=running shoes Search query string |
| rows | integer Default: 10 Example: rows=10 Number of results per page |
{ }Returns autocomplete suggestions using a JSON body. No authentication required.
| tenant required | string Example: demo Tenant code (e.g. |
| code required | string Example: trendware Search app code (e.g. |
| q | string Search query string |
| page | integer Default: 1 Page number (1-based) |
| rows | integer Default: 10 Number of results per page |
object (SortDTO) Sorting configuration. Only the | |
object Filters keyed by the facet ID configured in the schema. Each value is a Filter object. | |
| userId | string User identifier for personalisation and tracking |
| sessionId | string Session identifier for tracking |
| requestId | string Custom request identifier echoed back in the response |
| requestOrigin | string Origin of the request (e.g. |
{- "q": "runn",
- "rows": 5
}{ }