> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/docs.facephi-en/sdks/backend-sdk/voice/technical_documentation/api_reference/management/api-v1-config-1.md).

# /api/v1/config

Updates the service configuration in memory. The `config_json_string` field contains, serialized as a JSON string, the parameters to modify; those not included keep their value.

Not all the parameters returned by `GET /api/v1/config` can be modified with this endpoint. The following table shows the access level of each one:

| Parameter                               | Access         |
| --------------------------------------- | -------------- |
| `metrics_saturation_queue_p95_ms`       | Read and write |
| `metrics_saturation_min_inflight_ratio` | Read and write |
| `metrics_error_rate_warning`            | Read and write |
| `metrics_idle_rps_threshold`            | Read and write |
| `metrics_quality_alert_window_seconds`  | Read and write |
| `port`                                  | Read only      |
| `number_of_threads`                     | Read only      |
| `connection_timeout`                    | Read only      |
| `keep_alive_request_number`             | Read only      |
| `client_max_body_size`                  | Read only      |
| `logger_path`                           | Read only      |
| `logger_file_prefix`                    | Read only      |
| `logger_level`                          | Read only      |
| `logger_rotation`                       | Read only      |
| `logger_max_files`                      | Read only      |
| `metrics_enabled`                       | Read only      |

* Read-write parameters are applied without restarting the service. If the equivalent environment variable is defined (for example, `FACEPHI_VOICE_REST_METRICS_ERROR_RATE_WARNING`), its value takes precedence over the one sent.
* The `metrics_*` parameters are the thresholds `GET /api/v1/metrics` uses to classify the service status.
* Read-only parameters are only configured at startup, through `config.json` or the `FACEPHI_VOICE_REST_*` environment variables. If they are sent to this endpoint, the request returns 200 and `GET` returns the value sent, but the service keeps using the value it started with.
* `GET` returns the values defined in `config.json` and those sent to this endpoint; it does not reflect values set through environment variables.
* Changes are not saved to `config.json` and are lost when the service restarts.
* JWT authentication settings (`auth_*`) are startup-only: `GET` does not return them and this endpoint rejects with 400 any request that includes them.

```json
{"openapi":"3.0.1","info":{"title":"Voice-Service REST API","version":"3.2.0"},"servers":[{"url":"http://127.0.0.1:6982/"}],"security":[{"BearerAuth":[]},{"ApiKeyAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"},"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"Default name of the API key header. It can be overridden at startup with `auth_api_key_header_name`."}},"schemas":{"ConfigBody":{"type":"object","description":"Config request body. This endpoint does not accept JWT authentication settings.","properties":{"config_json_string":{"type":"string","description":"JSON string with the configuration parameters to modify. Only the read-write parameters listed in `POST /api/v1/config` are applied."}},"required":["config_json_string"]},"BadRequestResult":{"type":"object","description":"Result returned when the request contains incorrect parameters.","properties":{"status":{"type":"number"},"error":{"type":"string"},"timeStamp":{"$ref":"#/components/schemas/TimeStamp"}}},"TimeStamp":{"type":"string","description":"A date/time value in the format \"%Y-%m-%dT%H:%M:%SZ\"."},"ExceptionResult":{"type":"object","description":"An error occurred while calling the Voice-SDK backend.","properties":{"status":{"type":"number"},"error":{"type":"string"},"exception":{"type":"string"},"timeStamp":{"$ref":"#/components/schemas/TimeStamp"}}}}},"paths":{"/api/v1/config":{"post":{"description":"Updates the service configuration in memory. The `config_json_string` field contains, serialized as a JSON string, the parameters to modify; those not included keep their value.\n\nNot all the parameters returned by `GET /api/v1/config` can be modified with this endpoint. The following table shows the access level of each one:\n\n| Parameter | Access |\n|---|---|\n| `metrics_saturation_queue_p95_ms` | Read and write |\n| `metrics_saturation_min_inflight_ratio` | Read and write |\n| `metrics_error_rate_warning` | Read and write |\n| `metrics_idle_rps_threshold` | Read and write |\n| `metrics_quality_alert_window_seconds` | Read and write |\n| `port` | Read only |\n| `number_of_threads` | Read only |\n| `connection_timeout` | Read only |\n| `keep_alive_request_number` | Read only |\n| `client_max_body_size` | Read only |\n| `logger_path` | Read only |\n| `logger_file_prefix` | Read only |\n| `logger_level` | Read only |\n| `logger_rotation` | Read only |\n| `logger_max_files` | Read only |\n| `metrics_enabled` | Read only |\n\n- Read-write parameters are applied without restarting the service. If the equivalent environment variable is defined (for example, `FACEPHI_VOICE_REST_METRICS_ERROR_RATE_WARNING`), its value takes precedence over the one sent.\n- The `metrics_*` parameters are the thresholds `GET /api/v1/metrics` uses to classify the service status.\n- Read-only parameters are only configured at startup, through `config.json` or the `FACEPHI_VOICE_REST_*` environment variables. If they are sent to this endpoint, the request returns 200 and `GET` returns the value sent, but the service keeps using the value it started with.\n- `GET` returns the values defined in `config.json` and those sent to this endpoint; it does not reflect values set through environment variables.\n- Changes are not saved to `config.json` and are lost when the service restarts.\n- JWT authentication settings (`auth_*`) are startup-only: `GET` does not return them and this endpoint rejects with 400 any request that includes them.\n","tags":["Management"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigBody"}}},"required":true},"responses":{"200":{"description":"Message with the result of the operation.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"}}}}}},"400":{"description":"The request contains incorrect parameters.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BadRequestResult"}}}},"500":{"description":"An error occurred while calling the Voice-SDK backend.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExceptionResult"}}}}}}}}}
```
