# Upsert sign in with for a merchant and one or more countries

> `PUT https://api.kustom.co/config/checkout/v1/config/signInWith`

## Parameters

- `X-merchant-id` (string, header, required) — Merchant identifier
- `countries` (array<string>, query) — ISO 3166-1 alpha-2 country codes (omit for merchant-level default)

## Request body

`application/json`

- `signInMethods[]` (array<object>) — The sign-in methods to configure.
  - `method` (string) — The sign-in method to configure. Enum: `klarna`.
  - `enabled` (boolean) — Whether this sign-in method is enabled.
- `changeReason` (string) — Human-readable reason for the change, stored in the change history.
- `updatedBy` (string) — Identifier of the user or system making the change.

### Example request

```json
{
  "signInMethods": [
    {
      "method": "klarna",
      "enabled": true
    }
  ],
  "changeReason": "Enable Klarna sign-in for Sweden",
  "updatedBy": "ops@acme.com"
}
```

## Responses

### 200

OK

`*/*`

- `merchantId` (string) — Merchant identifier.
- `country` (string) — ISO 3166-1 alpha-2 country code, or null for the merchant-level default.
- `signInMethods[]` (array<object>) — The configured sign-in methods.
  - `method` (string) — The sign-in method to configure. Enum: `klarna`.
  - `enabled` (boolean) — Whether this sign-in method is enabled.
- `revision` (integer) — Monotonically increasing revision of this configuration value.
- `updatedBy` (string) — Identifier of the user or system that last updated the value.
- `updatedAt` (string) — Timestamp of the last update.

```json
[
  {
    "merchantId": "M123456",
    "country": "SE",
    "signInMethods": [
      {
        "method": "klarna",
        "enabled": true
      }
    ],
    "revision": 3,
    "updatedBy": "kustom-external-api",
    "updatedAt": "2026-06-22T14:30:00Z"
  }
]
```

### 400

Schema validation failure

`*/*`

- `merchantId` (string) — Merchant identifier.
- `country` (string) — ISO 3166-1 alpha-2 country code, or null for the merchant-level default.
- `signInMethods[]` (array<object>) — The configured sign-in methods.
  - `method` (string) — The sign-in method to configure. Enum: `klarna`.
  - `enabled` (boolean) — Whether this sign-in method is enabled.
- `revision` (integer) — Monotonically increasing revision of this configuration value.
- `updatedBy` (string) — Identifier of the user or system that last updated the value.
- `updatedAt` (string) — Timestamp of the last update.

```json
[
  {
    "merchantId": "M123456",
    "country": "SE",
    "signInMethods": [
      {
        "method": "klarna",
        "enabled": true
      }
    ],
    "revision": 3,
    "updatedBy": "kustom-external-api",
    "updatedAt": "2026-06-22T14:30:00Z"
  }
]
```
