Get Settings Dashboard
Retrieve your complete account overview in a single HMAC-signed API call — account summary, crawl statistics, crawl schedule status, owned index list, and available server environments. Designed to minimize API round-trips for dashboard rendering.
Endpoint
GET https://opensolr.com/solr_manager/api/get_settings_dashboard
Authentication
This endpoint uses HMAC-SHA256 signature verification instead of plain API key transmission. The signature proves that the caller possesses the API key without sending it as a query parameter.
How to compute the signature
Concatenate core_name + email and sign with your api_key using HMAC-SHA256:
signature = HMAC-SHA256(core_name + email, api_key)
The api_key is still sent as a parameter (required for user identification and rate limiting), but the signature ensures the request has not been tampered with.
Parameters
| Parameter | Status | Description |
|---|---|---|
email | Required | Your Opensolr registration email address |
api_key | Required | Your Opensolr API key |
core_name | Required | The name of your Opensolr index (e.g. my_index__dense) |
signature | Required | HMAC-SHA256 of core_name + email using api_key as the secret key |
Response
Returns a JSON object with status: true and a msg object containing five data sections:
| Field | Type | Description |
|---|---|---|
account_summary | object | Plan info, disk/bandwidth usage, crawler limits, feature flags, pricing, and crawler server IP |
crawl_stats | object | Pages crawled, pages in error, download size, queue depth, MIME type breakdown (from the crawler server) |
crawl_schedule_active | boolean | true if a crawl cron schedule exists for this index |
index_list | array | All indexes owned by this account: [{index_name, index_type}, ...] |
environments | array | Available server regions with country, flag URL, Solr version, and server identifier (web-crawler-enabled only) |
api_rate_limit | object | Current rate limits and real-time usage: max_per_minute, max_per_hour, last_min, last_hour |
account_summary fields
| Field | Description |
|---|---|
plan | Plan display name (Free Trial, Corporate, Pre-Paid Plan) |
is_trial | Boolean — true if the account is on a free trial |
trial_days_remaining | Days left on the trial (only present when is_trial is true) |
price | Plan price (e.g. "22.00") |
recurrence | Billing period (e.g. "1 Month") |
disk_used_mb / disk_limit_mb | Current disk usage and limit in MB |
bandwidth_used_mb / bandwidth_limit_mb | Current bandwidth usage and limit in MB |
crawl_max_pages | Maximum pages the crawler can index |
crawl_max_threads | Maximum concurrent crawl threads |
crawl_max_filesize_mb | Maximum file size the crawler will download (MB) |
crawl_max_traffic_mb | Maximum total crawl traffic (MB) |
has_webcrawler / has_analytics / has_backup | Feature flags (boolean) |
crawler_ip | IP address of the crawler server (for firewall whitelisting) |
Code Examples
cURL
# Compute the HMAC signature first CORE="my_index__dense" EMAIL="you@example.com" API_KEY="your_api_key_here" SIGNATURE=$(echo -n "${CORE}${EMAIL}" | openssl dgst -sha256 -hmac "${API_KEY}" | awk '{print $2}') curl -s "https://opensolr.com/solr_manager/api/get_settings_dashboard?email=${EMAIL}&api_key=${API_KEY}&core_name=${CORE}&signature=${SIGNATURE}"
PHP
$email = 'you@example.com'; $api_key = 'your_api_key_here'; $core = 'my_index__dense'; $signature = hash_hmac('sha256', $core . $email, $api_key); $params = http_build_query([ 'email' => $email, 'api_key' => $api_key, 'core_name' => $core, 'signature' => $signature, ]); $response = file_get_contents("https://opensolr.com/solr_manager/api/get_settings_dashboard?{$params}"); $data = json_decode($response, true); // Access the sections $summary = $data['msg']['account_summary']; $crawl = $data['msg']['crawl_stats']; $active = $data['msg']['crawl_schedule_active']; $indexes = $data['msg']['index_list']; $regions = $data['msg']['environments']; $rateLimit = $data['msg']['api_rate_limit']; echo "Plan: " . $summary['plan'] . " "; echo "Disk: " . $summary['disk_used_mb'] . " / " . $summary['disk_limit_mb'] . " MB "; echo "Crawl schedule: " . ($active ? "active" : "inactive") . " "; echo "Indexes: " . count($indexes) . " "; echo "API usage: " . $rateLimit['last_min'] . "/" . $rateLimit['max_per_minute'] . " per minute ";
Python
import hmac, hashlib, requests email = "you@example.com" api_key = "your_api_key_here" core = "my_index__dense" signature = hmac.new(api_key.encode(), (core + email).encode(), hashlib.sha256).hexdigest() response = requests.get("https://opensolr.com/solr_manager/api/get_settings_dashboard", params={ "email": email, "api_key": api_key, "core_name": core, "signature": signature, }) data = response.json() summary = data["msg"]["account_summary"] crawl = data["msg"]["crawl_stats"] active = data["msg"]["crawl_schedule_active"] indexes = data["msg"]["index_list"] regions = data["msg"]["environments"] rate = data["msg"]["api_rate_limit"] print(f"Plan: {summary['plan']}") print(f"Disk: {summary['disk_used_mb']} / {summary['disk_limit_mb']} MB") print(f"Crawl schedule: {'active' if active else 'inactive'}") print(f"Indexes: {len(indexes)}") print(f"API usage: {rate['last_min']}/{rate['max_per_minute']} per minute")
Error Responses
| Error | Cause |
|---|---|
ERROR_MISSING_PARAMS | Missing core_name or signature |
ERROR_INVALID_SIGNATURE | HMAC signature does not match — check that you are signing core_name + email with the correct api_key |
ERROR_AUTHENTICATION_FAILED | Invalid email or API key |
ERROR_NOT_CORE_OWNER | The specified index does not exist or does not belong to this account |
ERROR_RATE_LIMIT_PER_MINUTE | Too many requests — wait 60 seconds and retry |
ERROR_RATE_LIMIT_PER_HOUR | Hourly rate limit exceeded — request an upgrade |
Related Documentation
Need higher API rate limits or a custom integration? We are here to help.
Contact Support