## Update a SDK installation

Modify the configuration of an existing SDK installation in your merchant account. This endpoint allows you to:

- Change the installation name
- Update which payment methods are enabled
- Configure email and mobile capture settings

Common use cases for this endpoint:

- Rebranding your application with a new name
- Adding or removing payment methods as your business needs change
- Standardizing installation names across platforms
- Adjusting payment method configuration after testing
- Updating customer data collection requirements

The changes take effect immediately. Any subsequent API calls from this installation will use the new configuration.

To see which payment methods are available for your merchant account, use the `supported-payment-methods` endpoint.

Note: This endpoint only updates the installation's configuration - it does not affect the installation's enabled/disabled status.
Use the dedicated enable/disable endpoints to change an installation's status.

## Endpoint signature

```http
POST https://api.reservepay.com/merchants/reconfigure-installation HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <token>

{
  installation_id: string,
  name: string,
  payment_methods: string,
  email_capture: string?,
  mobile_capture: string?,
  address_capture: string?,
}
```

Returns: boolean

## Request arguments

### `installation_id` (string)

**Required**. The unique identifier of the installation to update. This is the ID that was returned when you created the installation.

### `name` (string)

**Required**. A new display name for this installation. This should be your application name without mentioning the platform (e.g. use 'CompanyName Storefront' rather than 'CompanyName Storefront iOS App'). The name helps you identify different installations in your dashboard and reports.

### `payment_methods` (string)

**Required**. A comma-separated list of payment methods that should be enabled for this installation. Only payment methods that are enabled for your merchant account can be used. Invalid or disabled payment methods will result in an error.

### `email_capture` (string)

_Optional_. Email capture configuration for this installation:

- `disabled`: Do not capture email addresses
- `optional`: Capture email addresses if provided by customer
- `required`: Require email addresses from all customers

This setting determines how email collection is handled during payment processing.

Allowed values:

- `disabled`
- `optional`
- `required`

### `mobile_capture` (string)

_Optional_. Mobile phone capture configuration for this installation:

- `disabled`: Do not capture mobile phone numbers
- `optional`: Capture mobile phone numbers if provided by customer
- `required`: Require mobile phone numbers from all customers

This setting determines how mobile phone collection is handled during payment processing.

Allowed values:

- `disabled`
- `optional`
- `required`

### `address_capture` (string)

_Optional_. Billing address capture configuration for this installation:

- `disabled`: Do not capture billing addresses
- `optional`: Capture billing addresses if provided by customer
- `required`: Require billing addresses from all customers

This setting determines how billing address collection is handled during payment processing.

Allowed values:

- `disabled`
- `optional`
- `required`

## Errors specific to this endpoint

### `NOT_FOUND`

The installation with the provided ID could not be found in your merchant account. Verify that you're using the correct installation ID.

## Errors common to all endpoints

### `UNHANDLED_ERROR`

This error occurs when the server encounters an unexpected internal error that
it cannot handle gracefully. This typically happens due to bugs, infrastructure
issues, or edge cases that weren't anticipated during development.

### `INVALID_ARGUMENTS`

This error occurs when the request contains invalid or missing parameters.
Common cases include missing required fields, or values that don't match the
expected format or type.

### `BAD_VERSION`

This error occurs when making requests to an API version that does not exist.
This commonly happens when using an outdated SDK or when the API version
specified in the request URL is incorrect.
