## Retrieve the installation settings

This endpoint allows you to retrieve the settings and configuration for a specific installation
(e.g. your iOS app, Android app, website, or terminal). The settings contain important information like
the supported payment methods and UI customization options.

## Endpoint signature

```http
POST https://api.reservepay.com/sdk/retrieve-installation-settings HTTP/1.1
Content-Type: application/json
Accept: application/json

{
  merchant_id: string,
  installation_id: string,
}
```

Returns: object

## Request arguments

### `merchant_id` (string)

**Required**. Your merchant ID that uniquely identifies your account.

### `installation_id` (string)

**Required**. The installation ID for this platform (e.g. your iOS app, Android app, website, or terminal).

## Response attributes

### `installation_id` (string)

**Always present**. The ID of the installation.

### `name` (string)

**Always present**. The name of the installation.

### `platform` (string)

**Always present**. The platform type of the installation (e.g., `WEB`, `IOS`, `ANDROID`, `TERMINAL`).

Possible values:

- `WEB`
- `IOS`
- `ANDROID`
- `TERMINAL`

### `identifier` (string)

**Always present**. The unique identifier for the installation on the platform.

### `payment_methods` (array<object.payment_method>)

**Always present**. List of payment methods supported by this installation.

### `email_capture` (string)

**Always present**. Email capture configuration for this installation. 'disabled' means no email collection, 'optional' means email is collected if provided by customer, 'required' means email is mandatory for all customers.

Possible values:

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

### `mobile_capture` (string)

**Always present**. Mobile phone capture configuration for this installation. 'disabled' means no mobile number collection, 'optional' means mobile number is collected if provided by customer, 'required' means mobile number is mandatory for all customers.

Possible values:

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

### `address_capture` (string)

**Always present**. Billing-address capture configuration for this installation. 'disabled' means no address collection, 'optional' means address fields are shown but optional, 'required' means the fields listed in each payment method's `required_fields` are mandatory.

Possible values:

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

### `merchant_name` (string)

**Always present**. The name of the merchant that owns this installation.

### `interest_bearer` (string)

_Nullable_. The merchant's default for who bears installment interest. When `merchant`, the customer pays only the original amount split across the installment months. When `customer`, the customer pays the original amount plus interest. `null` when the merchant has no default configured, in which case `interest_bearer` must be passed explicitly to `list-installment-plans` and `select-payment-method`.

Possible values:

- `merchant`
- `customer`

### `primary_color` (string)

**Always present**. Primary color used for buttons and main elements (hex format).

### `secondary_color` (string)

**Always present**. Secondary color used for backgrounds and accents (hex format).

### `sidebar_color` (string)

**Always present**. Background color for the sidebar (hex format).

### `sidebar_background_type` (string)

**Always present**. The type of sidebar background to use (color or image).

Possible values:

- `color`
- `image`

### `tile_sidebar_image` (boolean)

**Always present**. Whether to tile the sidebar image to fill the entire sidebar area.

### `hide_logo` (boolean)

**Always present**. Whether to hide the logo completely from the payment interface.

### `heading_font_family` (string)

**Always present**. Font family for headings.

### `heading_font_variant` (string)

**Always present**. Font weight variant for headings.

Possible values:

- `Thin`
- `ExtraLight`
- `Light`
- `Regular`
- `Medium`
- `SemiBold`
- `Bold`
- `ExtraBold`
- `Black`

### `body_font_family` (string)

**Always present**. Font family for body text.

### `body_font_variant` (string)

**Always present**. Font weight variant for body text.

Possible values:

- `Thin`
- `ExtraLight`
- `Light`
- `Regular`
- `Medium`
- `SemiBold`
- `Bold`
- `ExtraBold`
- `Black`

### `use_iso_code` (boolean)

**Always present**. Whether to use ISO currency codes instead of currency symbols.

### `hide_non_significant_zeros` (boolean)

**Always present**. Whether to hide decimal places when they are zero.

### `show_amount_in_button` (boolean)

**Always present**. Whether to display the payment amount in the button text.

### `symbol_placement` (string)

**Always present**. Where to place the currency symbol relative to the amount.

Possible values:

- `use_default`
- `before_amount`
- `after_amount`

### `default_button_text` (string)

**Always present**. Default text displayed on payment buttons.

### `button_shape` (string)

**Always present**. Border radius style for buttons.

Possible values:

- `rounded_none`
- `rounded_full`
- `rounded_xs`
- `rounded_sm`
- `rounded_md`
- `rounded_lg`
- `rounded_xl`

### `light_logo_url` (string)

_Nullable_. URL for the light logo (for light backgrounds).

### `dark_logo_url` (string)

_Nullable_. URL for the dark logo (for dark backgrounds).

### `sidebar_image_url` (string)

_Nullable_. URL for the sidebar background image.

## Payment method attributes

### `name` (string)

**Always present**. The name of the payment method.

### `display_name` (string)

**Always present**. The display name of the payment method.

### `flow` (string)

**Always present**. the flow of the payment method.

### `category` (string)

**Always present**. The category of the payment method.

### `requires_address` (boolean)

**Always present**. Whether this payment method collects the cardholder's billing address. Already accounts for the installation's `address_capture` setting (`false` when `address_capture` is `disabled`).

### `required_fields` (array<string>)

**Always present**. Address fields that are mandatory for this payment method when the installation's `address_capture` is `required` (e.g. `street_address_1`, `postal_code`).

### `banks` (array<object.bank>)

**Always present**. The banks offering installment plans for this payment method. Always empty for payment methods that are not installments.

## Bank attributes

### `name` (string)

**Always present**. The name of the bank offering the installment plans.

### `display_name` (string)

**Always present**. The display name of the bank

## Errors specific to this endpoint

### `NOT_FOUND`

This error occurs when we cannot find the merchant account or installation with the IDs provided. Double check that you are using the correct IDs.

## 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 is either deprecated or not yet released. This commonly happens when using an outdated SDK or when the API version specified in the request URL is incorrect.
