# Typesense Server Configuration Parameters API

Once you've provisioned a cluster via the Typesense Cloud web console or using the Cluster Management API, you can configure advanced Typesense Server Configuration Parameters that control various aspects of Typesense's behavior, such as CORS settings, performance tuning, and analytics configuration.

# List all configuration parameters

This endpoint returns all user-editable server configuration parameters for a cluster.

curl -X GET --location "https://cloud.typesense.org/api/v1/clusters/<ClusterId>/server-configuration-parameters" \
    -H "Accept: application/json" \
    -H "X-TYPESENSE-CLOUD-MANAGEMENT-API-KEY: YOUR-API-KEY"

Response:

[
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "parameter_name": "cors-domains",
    "parameter_value": "https://example.com,https://app.example.com",
    "created_at": "2025-06-14T12:00:00Z",
    "updated_at": "2025-06-14T12:00:00Z"
  },
  {
    "id": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
    "parameter_name": "max-per-page",
    "parameter_value": "500",
    "created_at": "2025-06-14T12:00:00Z",
    "updated_at": "2025-06-14T12:00:00Z"
  }
]

# Get a single parameter

This endpoint retrieves information about a specific server configuration parameter.

curl -X GET --location "https://cloud.typesense.org/api/v1/clusters/<ClusterId>/server-configuration-parameters/<ParameterId>" \
    -H "Accept: application/json" \
    -H "X-TYPESENSE-CLOUD-MANAGEMENT-API-KEY: YOUR-API-KEY"

Response:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "parameter_name": "cors-domains",
  "parameter_value": "https://example.com,https://app.example.com",
  "created_at": "2025-06-14T12:00:00Z",
  "updated_at": "2025-06-14T12:00:00Z"
}

# Create a parameter

This endpoint creates a new server configuration parameter for a cluster.

curl -X POST --location "https://cloud.typesense.org/api/v1/clusters/<ClusterId>/server-configuration-parameters" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "X-TYPESENSE-CLOUD-MANAGEMENT-API-KEY: YOUR-API-KEY" \
    -d '{
          "parameter_name": "cors-domains",
          "parameter_value": "https://example.com,https://app.example.com"
        }'

Response:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "parameter_name": "cors-domains",
  "parameter_value": "https://example.com,https://app.example.com",
  "created_at": "2025-06-14T12:00:00Z",
  "updated_at": "2025-06-14T12:00:00Z"
}

# Available Parameters

The following parameters can be configured via this API:

Parameter Name Description Valid Values Typesense Version
cors-domains Comma-separated list of allowed CORS domains HTTPS URLs only, no wildcards All
analytics-flush-interval How often to flush analytics data in seconds 60 to 43,200 (12 hours) v26+
analytics-minute-rate-limit Rate limit for analytics events per minute 5 to 9,999,999 v28+
cache-num-entries Number of entries in the search cache 1,000 to 9,999,999 v26+
db-compaction-interval Database compaction interval in seconds 3,600 to 604,800 (7 days) v26+
filter-by-max-ops Maximum filter operations per search 1 to 9,999,999 v27+
max-per-page Maximum results per page 1 to 10,000 v27+
max-group-limit Maximum group limit for grouped searches 1 to 9,999,999 v29+

Note

Some parameters are only available in specific Typesense server versions. Make sure your cluster is running the required version before configuring these parameters.

# Update a parameter

This endpoint updates the value of an existing server configuration parameter.

curl -X PATCH --location "https://cloud.typesense.org/api/v1/clusters/<ClusterId>/server-configuration-parameters/<ParameterId>" \
    -H "Content-Type: application/json" \
    -H "Accept: application/json" \
    -H "X-TYPESENSE-CLOUD-MANAGEMENT-API-KEY: YOUR-API-KEY" \
    -d '{
          "parameter_value": "https://updated.example.com"
        }'

Response:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "parameter_name": "cors-domains",
  "parameter_value": "https://updated.example.com",
  "created_at": "2025-06-14T12:00:00Z",
  "updated_at": "2025-06-14T13:00:00Z"
}

# Delete a parameter

This endpoint removes a server configuration parameter from a cluster.

curl -X DELETE --location "https://cloud.typesense.org/api/v1/clusters/<ClusterId>/server-configuration-parameters/<ParameterId>" \
    -H "Accept: application/json" \
    -H "X-TYPESENSE-CLOUD-MANAGEMENT-API-KEY: YOUR-API-KEY"

Response:

{
  "success": true
}

# Error Responses

When an error occurs, the API returns an error response with details about what went wrong.

# Validation Error Example

{
  "success": false,
  "message": "Parameter value must start with https://"
}

# Important Notes

  • Parameter changes take effect when the Typesense server is restarted. You need to restart your cluster for changes to take effect using the Cluster Configuration Management API by leaving out all the parameters except for perform_change_at.
  • Each parameter can only be set once per cluster. To change a value, use the update endpoint.
Last Updated: 6/14/2025, 12:44:13 AM