Manage Site Search Apps

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."
}
Articles in this section