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

# Update Shop

> Update shop / business settings

<Note>
  This endpoint is part of the merchant Admin API and is authenticated with a
  **merchant access token** (not an app OAuth access token). The OAuth App API
  exposes the store read-only via [`GET /api/v1/shop.json`](/api-reference/shop/get);
  there is no app-scoped shop-update endpoint.
</Note>

# Update Shop

The OAuth App API is **read-only** for the shop resource — there is no
`PUT /api/v1/shop.json`. To read shop details over the App API, use
[Get Shop](/api-reference/shop/get) (`GET /api/v1/shop.json`, scope
`read_shop`).

Shop / business settings are updated through the **merchant dashboard API**
using a merchant (or staff) JWT, not an OAuth app access token. The relevant
endpoint is `PUT /account/add-business-detail`. Only the fields you send are
updated.

## Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X PUT "https://api.launchmystore.io/account/add-business-detail" \
    -H "Authorization: Bearer YOUR_MERCHANT_JWT" \
    -H "Content-Type: application/json" \
    -d '{
      "business": "My Awesome Store - Rebranded",
      "businessEmail": "support@mystore.com",
      "phone": "+1 (555) 987-6543"
    }'
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.launchmystore.io/account/add-business-detail', {
    method: 'PUT',
    headers: {
      'Authorization': 'Bearer YOUR_MERCHANT_JWT',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      business: 'My Awesome Store - Rebranded',
      businessEmail: 'support@mystore.com',
      phone: '+1 (555) 987-6543'
    })
  });
  ```
</CodeGroup>

## Body Parameters

All parameters are optional. Only provided fields will be updated.

<ParamField body="business" type="string">
  Business / shop name.
</ParamField>

<ParamField body="businessEmail" type="string">
  Business contact email.
</ParamField>

<ParamField body="phone" type="string">
  Business phone number.
</ParamField>

<ParamField body="ownerName" type="string">
  Store owner's name.
</ParamField>

<ParamField body="category" type="string">
  Store category.
</ParamField>

<ParamField body="country" type="string">
  Store country. Currency is auto-resolved from the store's country.
</ParamField>

<ParamField body="storeAdd" type="string">
  Store address.
</ParamField>

<ParamField body="gstNumber" type="string">
  Tax / GST registration number.
</ParamField>

<ParamField body="availableCountries" type="array">
  Countries the store ships to / supports (e.g. `["India", "United States"]`).
</ParamField>

<ParamField body="availableLanguages" type="array">
  Supported language codes (e.g. `["en", "es", "fr"]`).
</ParamField>

<ParamField body="defaultLanguage" type="string">
  Default storefront language code (e.g. `"en"`).
</ParamField>

<ParamField body="useManualExchangeRates" type="boolean">
  Use manually-entered exchange rates instead of live API rates.
</ParamField>

<ParamField body="manualExchangeRates" type="object">
  Manual exchange rate map keyed by currency code, based on the store's default
  currency (e.g. `{ "USD": 1.0, "EUR": 0.92, "INR": 83.12 }`).
</ParamField>

<ParamField body="currencyConversionFee" type="number">
  Currency conversion fee percentage (0–10).
</ParamField>

<Note>
  The store logo is updated via the separate `PUT /account/add-business-logo`
  endpoint (multipart upload).
</Note>

## Response

Responses use the platform response envelope: `status`, `state`, `message`,
`data`.

```json theme={null}
{
  "status": 200,
  "state": "success",
  "message": "Business details updated successfully",
  "data": {
    "id": "acc_abc123",
    "business": "My Awesome Store - Rebranded",
    "businessEmail": "support@mystore.com",
    "phone": "+1 (555) 987-6543",
    "country": "United States",
    "availableCountries": ["United States", "Canada"],
    "availableLanguages": ["en"],
    "defaultLanguage": "en"
  }
}
```

## Notes

* Currency is auto-resolved from the store's country; there is no standalone
  currency field on this endpoint.
* Domains and plan / billing changes are managed in the dashboard, not via this
  endpoint.
