> ## 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.

# User Settings

> Retrieve and update your account preferences, privacy options, and ride defaults using the RideShare API.

<Note>
  Settings are per-user and tied to your authenticated account. All requests must include an `Authorization` header with a valid bearer token.

  ```bash theme={null}
  Authorization: Bearer <your_token>
  ```
</Note>

<Steps>
  <Step title="Fetch your current settings">
    Retrieve your current settings before making changes so you can update only the fields you want to change.

    ```bash theme={null}
    GET /user-settings
    Authorization: Bearer <your_token>
    ```

    **Example response**

    ```json theme={null}
    {
      "tripSharingDefault": true,
      "hidePhoneNumber": false,
      "emergencyContact": "+919876543210",
      "defaultPaymentMethod": "upi",
      "autoTipEnabled": false,
      "invoiceEmailEnabled": true,
      "mapStyle": "standard",
      "avoidTolls": false,
      "avoidHighways": false,
      "navigationVoiceLanguage": "en",
      "preferredVehicleType": "mini",
      "acPreference": "any",
      "quietRide": false,
      "deleteAccountRequested": false,
      "createdAt": "2026-01-15T08:00:00Z",
      "updatedAt": "2026-03-20T14:30:00Z"
    }
    ```
  </Step>

  <Step title="Update your settings">
    Send a `PUT /user-settings` request with only the fields you want to change. All fields are optional — omit any field you want to leave unchanged.

    ```bash theme={null}
    PUT /user-settings
    Authorization: Bearer <your_token>
    Content-Type: application/json
    ```

    ```json theme={null}
    {
      "defaultPaymentMethod": "card",
      "preferredVehicleType": "premium",
      "quietRide": true,
      "avoidTolls": true,
      "navigationVoiceLanguage": "hi"
    }
    ```

    **Example response**

    ```json theme={null}
    {
      "tripSharingDefault": true,
      "hidePhoneNumber": false,
      "emergencyContact": "+919876543210",
      "defaultPaymentMethod": "card",
      "autoTipEnabled": false,
      "invoiceEmailEnabled": true,
      "mapStyle": "standard",
      "avoidTolls": true,
      "avoidHighways": false,
      "navigationVoiceLanguage": "hi",
      "preferredVehicleType": "premium",
      "acPreference": "any",
      "quietRide": true,
      "deleteAccountRequested": false,
      "updatedAt": "2026-04-02T11:05:00Z"
    }
    ```
  </Step>
</Steps>

## Settings reference

| Field                     | Type    | Default      | Description                                                                 |
| ------------------------- | ------- | ------------ | --------------------------------------------------------------------------- |
| `tripSharingDefault`      | boolean | `true`       | Automatically share your live trip with trusted contacts when a ride starts |
| `hidePhoneNumber`         | boolean | `false`      | Hide your phone number from drivers                                         |
| `emergencyContact`        | string  | `""`         | Phone number to contact in an emergency                                     |
| `defaultPaymentMethod`    | string  | `"upi"`      | Payment method pre-selected at booking (e.g. `upi`, `cash`, `card`)         |
| `autoTipEnabled`          | boolean | `false`      | Automatically add a tip when a ride is completed                            |
| `invoiceEmailEnabled`     | boolean | `true`       | Send a ride receipt to your email after each trip                           |
| `mapStyle`                | string  | `"standard"` | Map display style (e.g. `standard`, `satellite`)                            |
| `avoidTolls`              | boolean | `false`      | Prefer routes that avoid toll roads                                         |
| `avoidHighways`           | boolean | `false`      | Prefer routes that avoid highways                                           |
| `navigationVoiceLanguage` | string  | `"en"`       | Language code for in-app voice navigation (e.g. `en`, `hi`, `ta`)           |
| `preferredVehicleType`    | string  | `"mini"`     | Vehicle type pre-selected at booking (e.g. `mini`, `sedan`, `premium`)      |
| `acPreference`            | string  | `"any"`      | AC preference for rides — `any`, `ac`, or `non-ac`                          |
| `quietRide`               | boolean | `false`      | Signal to drivers that you prefer a quiet trip with minimal conversation    |
| `deleteAccountRequested`  | boolean | `false`      | Flag a request to delete your account                                       |

<Warning>
  Setting `deleteAccountRequested` to `true` flags your account for deletion. Contact support if you set this unintentionally.
</Warning>
