Use the app management endpoints to create, update, delete, and retrieve status, endpoints, and API keys for Site Search apps.
Authentication
Headers
| Name | Type | Description |
|---|---|---|
account
|
string
|
Your account name. Required. |
Create a Site Search App
Note: You can create up to 10 Site Search apps per account in any 60-minute window. If you exceed this limit, the API returns 429 Too Many Requests.
Endpoint
POST https://app.searchstax.com/api/rest/experience-manager/v2/apps
Query Parameters
| Name | Type | Description |
|---|---|---|
account
|
string
|
Your account name. Required. |
Headers
| Name | Type | Description |
|---|---|---|
Content-Type
|
string
|
application/json.
|
Body Parameters
| Name | Type | Description |
|---|---|---|
name
|
string
|
App name. Required. Constraints: Allowed characters: letters, numbers, underscore (_). Hyphens are not allowed. Min length 6, max length 126.
|
platform
|
string
|
Application platform. Required. Allowed values : Sitecore, Custom App, Drupal.
|
region
|
string
|
Deployment region. Required. Allowed values: North Virginia, US; Frankfurt, DE; Oregon, US; Montreal, CA; Ireland, DU; Sydney, AU; Tokyo, JP; Singapore, AP.
|
platform_version
|
string
|
Drupal version. Optional. Allowed values: 11, 10, 9, 8, 7.
|
environment
|
string
|
Deployment environment. Optional. Allowed values: Development, Production, Staging, QA, UAT.
|
Request
Use this curl request to create a Site Search app:
curl -s -X POST \
-H "Authorization: Token <token>" \
-H "Content-Type: application/json" \
"https://app.searchstax.com/api/rest/experience-manager/v2/apps?account=<account_name>" \
-d '{
"name": "api_docs_test",
"platform": "Drupal",
"region": "North Virginia, US",
"platform_version": "11",
"environment": "Production"
}'
Response
The response includes:
| Name | Type | Description |
|---|---|---|
success
|
boolean
|
true or false (JSON boolean literals are lowercase).
|
app_id
|
integer
|
The new app ID. |
expected_minutes_to_completion
|
integer
|
Estimated number of minutes until app creation is complete. |
message
|
string
|
Returned when: success=false or on non-2xx responses.
|
The response looks like this:
{
"success": true,
"app_id": 12345,
"expected_minutes_to_completion": 5
}
Note: App creation is asynchronous. After creating an app, poll the app details endpoint and wait for app_ready=true before using the generated endpoints and tokens.
Get App Status, Endpoints, and API Keys
Endpoint
GET https://app.searchstax.com/api/rest/experience-manager/v2/apps
Query Parameters
| Name | Type | Description |
|---|---|---|
account
|
string
|
Your account name. Required. |
appId
|
string
|
App ID. Optional. |
Request
Use this curl request to get app status, endpoints, and API keys:
curl -s \
-H "Authorization: Token <token>" \
"https://app.searchstax.com/api/rest/experience-manager/v2/apps?account=<account_name>&appId=<app_id>"
Response
Use app_ready to determine whether the app is ready for use.
The response also includes the endpoints and keys you use for Search, Update, Analytics, and Discovery, including:
| Name | Type | Description |
|---|---|---|
app_ready
|
boolean
|
Indicates whether the app is ready for use. |
search_endpoint
|
string
|
Search endpoint URL. |
update_endpoint
|
string
|
Update endpoint URL. |
read_token
|
string
|
Read token. |
write_token
|
string
|
Write token. |
analytics_endpoint
|
string
|
Analytics endpoint URL. |
analytics_app.key
|
string
|
Analytics app key. |
analytics_app.reporting_key
|
string
|
Analytics reporting key. |
suggester_endpoint
|
string
|
Suggester endpoint URL. |
popular_search_endpoint
|
string
|
Popular Searches endpoint URL. |
related_search_endpoint
|
string
|
Related Searches endpoint URL. |
discovery_api_key
|
string
|
Discovery API key. |
The response looks like this for a ready app. This example is abridged:
{
"name": "example_app",
"id": 12345,
"created": "2026-06-05T16:41:45Z",
"default": false,
"created_by": "user@example.com",
"analytics_app": {
"name": "SiteSearch123456",
"active": true,
"uid": "<analytics_uid>",
"key": "<analytics_key>",
"cluster": 5,
"reporting_key": "<analytics_reporting_key>"
},
"search_endpoint": "https://<search_host>/<account_id>/<app_name>/emselect",
"update_endpoint": "https://<search_host>/<account_id>/<app_name>/update",
"collection": "searchstudio",
"api_username": "app12345-api",
"engine_username": "app12345-admin",
"suggester_endpoint": "",
"related_search_endpoint": "https://app.searchstax.com/api/v1/12345/related-search/",
"popular_search_endpoint": "https://app.searchstax.com/api/v1/12345/popular-search/",
"platform": "Drupal",
"platform_version": "11",
"languages": [
{
"name": "English",
"language_code": "en",
"enabled": true,
"type": "system",
"platform": [
"custom",
"drupal",
"sitecore"
],
"usage_count": 0,
"default": true
}
],
"is_shared": true,
"index_id": 123456,
"suggester_exists": false,
"environment": "Sandbox",
"region": "US East (N. Virginia)",
"crawler_solr_compatibility": true,
"app_ready": true,
"provisioning_status": "provisioning_done",
"indexing_delay_seconds": 300,
"analytics_endpoint": "https://<analytics_host>",
"answers_endpoint": "https://<answers_host>/api/v1/12345/answer/",
"geocodingURL": "https://geocoding.searchstax.com",
"appId": "12345",
"countryCode": "us",
"api_authentication": "",
"extractor_endpoint": "https://<extractor_host>/api/v1/12345/extract",
"collection_active": true,
"collection_has_data": false,
"results_configured": true,
"model_configured": true,
"discovery_api_key": "<discovery_api_key>",
"select_endpoint": "https://<search_host>/<account_id>/<app_name>/emselect",
"read_token": "<read_token>",
"write_token": "<write_token>"
}
Update a Site Search App Name
Endpoint
PUT https://app.searchstax.com/api/rest/experience-manager/v2/apps
Query Parameters
| Name | Type | Description |
|---|---|---|
account
|
string
|
Your account name. Required. |
appId
|
string
|
App ID. Required. |
Headers
| Name | Type | Description |
|---|---|---|
Content-Type
|
string
|
application/json.
|
Body Parameters
| Name | Type | Description |
|---|---|---|
name
|
string
|
New app name. Required. |
Request
Use this curl request to update a Site Search app name:
curl -s -X PUT \
-H "Authorization: Token <token>" \
-H "Content-Type: application/json" \
"https://app.searchstax.com/api/rest/experience-manager/v2/apps?account=<account_name>&appId=<app_id>" \
-d '{
"name": "<new_app_name>"
}'
Response
The response includes:
| Name | Type | Description |
|---|---|---|
success
|
boolean
|
true or false.
|
The response looks like this:
{
"success": true
}
Delete a Site Search App
Endpoint
DELETE https://app.searchstax.com/api/rest/experience-manager/v2/apps
Query Parameters
| Name | Type | Description |
|---|---|---|
account
|
string
|
Your account name. Required. |
appId
|
string
|
App ID. Required. |
Request
Use this curl request to delete a Site Search app:
curl -s -X DELETE \
-H "Authorization: Token <token>" \
"https://app.searchstax.com/api/rest/experience-manager/v2/apps?account=<account_name>&appId=<app_id>"
Response
The response includes:
| Name | Type | Description |
|---|---|---|
success
|
boolean
|
true or false.
|
message
|
string
|
User-friendly status message. |
The response looks like this:
{
"success": true,
"message": "App deleted."
}