# Update a sweep config

Update settings on a sweep config.

To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need to specify the `/accounts/{accountID}/wallets.write` scope.

## PATCH

/accounts/{accountID}/sweep-configs/{sweepConfigID}

### Ask

```shell
curl -X PATCH "https://api.moov.io/accounts/{accountID}/sweep-configs/{sweepConfigID}" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00" \
  -d '{
  "status": "disabled"
}'
```

### Ask

```go
mc, _ := moov.NewClient()

var accountID string
var sweepConfigID string

sweepConfig, _ := mc.GetSweepConfig(ctx, accountID, sweepConfigID)
statementDesc := "my-sweep"
mc.UpdateSweepConfig(ctx, moov.UpdateSweepConfig{
  AccountID:           "string",
  SweepConfigID:       sweepConfig.SweepConfigID,
  StatementDescriptor: &statementDesc,
})
```

### Ask

```typescript
import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.sweeps.updateConfig({
    accountID: "c16d0264-3e93-4d13-b8d8-6e8e98122631",
    sweepConfigID: "f7943244-882b-4a3a-837a-a58418358399",
    patchSweepConfig: {
      status: "disabled",
    },
  });

console.log(result);
}

run();
```

### Ask

```php
declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\MoovPhp;
use Moov\MoovPhp\Models\Components;

$sdk = MoovPhp\Moov::builder()
    ->setSecurity(
        new Components\Security(
            username: '',
            password: '',
        )
    )
    ->build();

$patchSweepConfig = new Components\PatchSweepConfig(
    status: Components\Status::Disabled,
);

$response = $sdk->sweeps->updateConfig(
    accountID: 'c16d0264-3e93-4d13-b8d8-6e8e98122631',
    sweepConfigID: 'f7943244-882b-4a3a-837a-a58418358399',
    patchSweepConfig: $patchSweepConfig
);

if ($response->sweepConfig !== null) {
    // handle response
}
```

### Ask

```java
package hello.world;

import io.moov.sdk.Moov;
import io.moov.sdk.models.components.*;
import io.moov.sdk.models.errors.GenericError;
import io.moov.sdk.models.errors.PatchSweepConfigError;
import io.moov.sdk.models.operations.UpdateSweepConfigResponse;
import java.lang.Exception;

public class Application {

public static void main(String[] args) throws GenericError, PatchSweepConfigError, Exception {

Moov sdk = Moov.builder()
                .security(Security.builder()
                    .username("")
                    .password("")
                    .build())
            .build();

UpdateSweepConfigResponse res = sdk.sweeps().updateConfig()
                .accountID("c16d0264-3e93-4d13-b8d8-6e8e98122631")
                .sweepConfigID("f7943244-882b-4a3a-837a-a58418358399")
                .patchSweepConfig(PatchSweepConfig.builder()
                    .status(Status.DISABLED)
                    .build())
                .call();

if (res.sweepConfig().isPresent()) {
            System.out.println(res.sweepConfig().get());
        }
    }
}
```

### Ask

```python
from moovio_sdk import Moov
from moovio_sdk.models import components

with Moov(
    security=components.Security(
        username="",
        password="",
    ),
) as moov:

res = moov.sweeps.update_config(account_id="c16d0264-3e93-4d13-b8d8-6e8e98122631", sweep_config_id="f7943244-882b-4a3a-837a-a58418358399", status=components.Status.DISABLED)

# Handle response
    print(res)
```

### Ask

```ruby
require 'moov_ruby'

Models = ::Moov::Models
s = ::Moov::Client.new(
  security: Models::Components::Security.new(
    username: '',
    password: ''
  )
)
res = s.sweeps.update_config(account_id: 'c16d0264-3e93-4d13-b8d8-6e8e98122631', sweep_config_id: 'f7943244-882b-4a3a-837a-a58418358399', patch_sweep_config: Models::Components::PatchSweepConfig.new(
  status: Models::Components::Status::DISABLED
))

unless res.sweep_config.nil?
  # handle response
end
```

### Ask

```csharp
using Moov.Sdk;
using Moov.Sdk.Models.Components;

var sdk = new MoovClient(security: new Security() {
    Username = "",
    Password = "",
});

var res = await sdk.Sweeps.UpdateConfigAsync(
    accountID: "c16d0264-3e93-4d13-b8d8-6e8e98122631",
    sweepConfigID: "f7943244-882b-4a3a-837a-a58418358399",
    body: new PatchSweepConfig() {
        Status = Status.Disabled,
    }
);

// handle response
```

The request completed successfully.

## Example

```json
{
  "sweepConfigID": "string",
  "walletID": "string",
  "status": "enabled",
  "pushPaymentMethod": {
    "paymentMethodID": "string",
    "disabledOn": "2019-08-24T14:15:22Z"
  },
  "pullPaymentMethod": {
    "paymentMethodID": "string",
    "disabledOn": "2019-08-24T14:15:22Z"
  },
  "minimumBalance": "string",
  "statementDescriptor": "string",
  "lockedFields": [
    "string"
  ],
  "createdOn": "2019-08-24T14:15:22Z",
  "updatedOn": "2019-08-24T14:15:22Z"
}
```

### Response headers

A unique identifier used to trace requests.

## Error Handling

### 400 Bad Request
```json
{
  "error": "string"
}
```

### 401 Unauthorized
```json
{
  "error": "string"
}
```

### 403 Forbidden
```json
{
  "error": "string"
}
```

### 404 Not Found
```json
{
  "error": "string"
}
```

### 409 Conflict
```json
{
  "error": "string"
}
```

### Validation Errors
```json
{
  "status": "string",
  "pushPaymentMethodID": "string",
  "pullPaymentMethodID": "string",
  "statementDescriptor": "string",
  "minimumBalance": "string"
}
```

### Rate Limiting
```json
{
  "error": "string"
}
```

### Unexpected Error
```json
{
  "error": "string"
}
```

### Downstream Service Failure
```json
{
  "error": "string"
}
```

## API Versioning
Set this header to v2026.07.00 to use the API described in this specification. When omitted, the server defaults to v2024.01.00.

## Status Descriptors
Possible values:
- `enabled`
- `disabled`

### Payment Methods
The payment method used to push or pull funds to a bank account. The push payment method can only be ach-credit-standard, ach-credit-same-day, or rtp-credit. The pull payment method can only be ach-debit-fund.
