> ## Documentation Index
> Fetch the complete documentation index at: https://rideshare.docs.sumit-dhondikar.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Settings

> Update one or more settings for the authenticated user.

Update your account preferences by sending only the fields you want to change. Omitted fields are left unchanged. You must include a valid Bearer token.

## Request

**`PUT /user-settings`**

```http theme={null}
Authorization: Bearer <token>
Content-Type: application/json
```

<ParamField body="tripSharingDefault" type="boolean">
  Enable or disable trip sharing by default when starting a ride.
</ParamField>

<ParamField body="hidePhoneNumber" type="boolean">
  Hide or reveal your phone number to drivers.
</ParamField>

<ParamField body="emergencyContact" type="string">
  Emergency contact phone number or name (up to 40 characters).
</ParamField>

<ParamField body="defaultPaymentMethod" type="string">
  Default payment method (e.g. `upi`, `card`).
</ParamField>

<ParamField body="autoTipEnabled" type="boolean">
  Enable or disable automatic tipping after rides.
</ParamField>

<ParamField body="invoiceEmailEnabled" type="boolean">
  Enable or disable email invoices after rides.
</ParamField>

<ParamField body="mapStyle" type="string">
  Map rendering style (e.g. `standard`, `satellite`).
</ParamField>

<ParamField body="avoidTolls" type="boolean">
  Whether route planning should avoid toll roads.
</ParamField>

<ParamField body="avoidHighways" type="boolean">
  Whether route planning should avoid highways.
</ParamField>

<ParamField body="navigationVoiceLanguage" type="string">
  BCP 47 language code for navigation voice prompts (e.g. `en`, `hi`).
</ParamField>

<ParamField body="preferredVehicleType" type="string">
  Preferred vehicle category for ride requests (e.g. `mini`, `sedan`, `suv`).
</ParamField>

<ParamField body="acPreference" type="string">
  Air conditioning preference (e.g. `any`, `ac`, `non_ac`).
</ParamField>

<ParamField body="quietRide" type="boolean">
  Prefer a quiet ride with minimal conversation.
</ParamField>

<ParamField body="deleteAccountRequested" type="boolean">
  Submit or retract an account deletion request.
</ParamField>

<Note>
  Only the fields you include in the request body are updated. All other settings remain at their current values. You can send a request body with a single field to update just that preference.
</Note>

## Response

The response returns the full updated settings object. See [Get Settings](/api-reference/user-settings/get) for the complete field reference.

<ResponseField name="id" type="integer">Unique ID of the settings record.</ResponseField>
<ResponseField name="userId" type="integer">ID of the user these settings belong to.</ResponseField>
<ResponseField name="tripSharingDefault" type="boolean">Updated trip sharing default.</ResponseField>
<ResponseField name="hidePhoneNumber" type="boolean">Updated phone number visibility preference.</ResponseField>
<ResponseField name="emergencyContact" type="string">Updated emergency contact.</ResponseField>
<ResponseField name="defaultPaymentMethod" type="string">Updated default payment method.</ResponseField>
<ResponseField name="autoTipEnabled" type="boolean">Updated auto-tip preference.</ResponseField>
<ResponseField name="invoiceEmailEnabled" type="boolean">Updated invoice email preference.</ResponseField>
<ResponseField name="mapStyle" type="string">Updated map style.</ResponseField>
<ResponseField name="avoidTolls" type="boolean">Updated toll avoidance preference.</ResponseField>
<ResponseField name="avoidHighways" type="boolean">Updated highway avoidance preference.</ResponseField>
<ResponseField name="navigationVoiceLanguage" type="string">Updated navigation voice language.</ResponseField>
<ResponseField name="preferredVehicleType" type="string">Updated preferred vehicle type.</ResponseField>
<ResponseField name="acPreference" type="string">Updated AC preference.</ResponseField>
<ResponseField name="quietRide" type="boolean">Updated quiet ride preference.</ResponseField>
<ResponseField name="deleteAccountRequested" type="boolean">Updated account deletion request status.</ResponseField>
<ResponseField name="createdAt" type="string">ISO 8601 timestamp of record creation.</ResponseField>
<ResponseField name="updatedAt" type="string">ISO 8601 timestamp of this update.</ResponseField>

## Example

<CodeGroup>
  ```bash cURL theme={null}
  curl -X PUT http://localhost:8080/user-settings \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
      "quietRide": true,
      "defaultPaymentMethod": "card",
      "avoidTolls": true
    }'
  ```

  ```json Response theme={null}
  {
    "id": 3,
    "userId": 7,
    "tripSharingDefault": true,
    "hidePhoneNumber": false,
    "emergencyContact": "+91 98765 43210",
    "defaultPaymentMethod": "card",
    "autoTipEnabled": false,
    "invoiceEmailEnabled": true,
    "mapStyle": "standard",
    "avoidTolls": true,
    "avoidHighways": false,
    "navigationVoiceLanguage": "en",
    "preferredVehicleType": "mini",
    "acPreference": "any",
    "quietRide": true,
    "deleteAccountRequested": false,
    "createdAt": "2026-01-15T08:00:00Z",
    "updatedAt": "2026-04-02T09:45:00Z"
  }
  ```
</CodeGroup>
