Search App Schema API
Define or update the field schema of your search app. Send your data model and QSC will sync the search configuration accordingly.
Interactive API Reference
Try the endpoint directly in your browser: Open API Explorer
Endpoint
PUT /api/v1/searchapp/schema/{tenant}/{code}
| Path Parameter | Description |
|---|---|
tenant | Your tenant code (e.g. demo) |
code | The search app code (e.g. trendware) |
Authentication
See API Authentication. Pass your static API token in the X-QSC-Token header:
X-QSC-Token: <your-token>
The token must have WRITE permission on the tenant.
Request
{
"fields": [
{
"code": "name",
"dataType": "string",
"searchMode": "balanced",
"weight": 3,
"display": true,
"facet": false,
"sort": false,
"suggest": false,
"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
}
]
}
Field Properties
| Property | Type | Default | Description |
|---|---|---|---|
code | string | — | Field name — must match the key in your documents |
dataType | string | — | Data type — see Data Types |
searchMode | string | "balanced" | How this field is searched — see Search Modes |
weight | integer | 1 | Relevance boost — higher means more relevant |
display | boolean | false | Return this field in search results |
facet | boolean | false | Enable filtering/faceting by this field |
sort | boolean | false | Enable sorting by this field |
suggest | boolean | false | Include this field in search suggestions |
navigation | boolean | false | Use this field for navigation |
semantic | boolean | false | Enable semantic / vector search for this field |
Data Types
| Value | Description |
|---|---|
string | Text with full-text analysis |
long | Integer number |
double | Floating point number |
boolean | Boolean (true/false) |
date | ISO 8601 date |
categories | Hierarchical category tree |
attributes | Key/value attribute pairs |
raw | Unanalyzed raw value |
Search Modes
| Value | Description |
|---|---|
balanced | Standard full-text search with balanced analysis (default for string fields) |
fuzzy | Fuzzy/ngram search — tolerates typos and partial matches |
exact | Exact phrase matching |
custom | Preserves any manually configured search settings |
off | Field is not searched |
Non-string types (long, double, boolean, date) only support exact, custom, and off.
Response
Returns the updated schema.
{
"fields": [
{
"code": "name",
"dataType": "string",
"searchMode": "balanced",
"weight": 3,
"display": true,
"facet": false,
"sort": false,
"suggest": false,
"navigation": false,
"semantic": false
}
]
}
Status Codes
| Code | Description |
|---|---|
200 | Schema updated successfully |
400 | Invalid request body |
401 | Missing or invalid token |
403 | Token does not have WRITE permission |
404 | Tenant or search app not found |
500 | Internal server error |
Next Step: Schedule a Feeding Job
warning
After updating the schema you must schedule a feeding job so QSC re-indexes your data with the new field configuration.
PUT /api/v1/job/{tenant}/{code}/feeding/_schedule
PUT /api/v1/job/demo/trendware/feeding/_schedule
X-QSC-Token: <your-token>
| Response | Description |
|---|---|
200 | Feeding job scheduled successfully |
401 | Missing or invalid token |
403 | Token does not have WRITE permission |
404 | Tenant or search app not found |