---
title: "Update an existing AMM rule"
method: PUT
path: "/programs/{programCode}/accounts/{accountIdentifier}/ammRule/{ruleId}"
tags: ["AMMRule"]
---

# Update an existing AMM rule

`PUT /programs/{programCode}/accounts/{accountIdentifier}/ammRule/{ruleId}`

Updates the details of an existing Auto Money Movement (AMM) rule for the specified account and rule ID.

## Path parameters

- `programCode` string, required
- `accountIdentifier` string, required
- `ruleId` integer, required

## Headers

- `X-GD-RequestId` string, required

## Request body

- UpdateAMMRuleRequest — Represents a request to update an Automated Money Movement (AMM) rule. Contains identifiers, scheduling, transfer details, and configuration for the AMM rule to be updated. Inherits standard request metadata from Gd.Bos.DataTransfer.Request.RequestBase.
  - `ruleID` integer, required — The unique identifier for the AMM rule to update.
  - `ammRuleName` string, nullable — The name assigned to the AMM rule.
  - `startDate` string, date-time — The start date when the rule becomes active.
  - `endDate` string, date-time — The end date when the rule expires or is deactivated.
  - `maxCapAmount` number, double — The maximum cap amount for transfers under this rule.
  - `rulePriority` integer — The priority of the rule for execution order.
  - `fixedTransferAmount` number, double — The fixed transfer amount for each execution of the rule.
  - `transferPercentage` number, double — The percentage of the qualifying amount to transfer.
  - `scheduleDay` integer — The scheduled day for rule execution (e.g., day of month).
  - `ruleFrequency` string, nullable — The frequency type of the rule (e.g., "Daily", "Weekly", "Monthly").

## Response `200`

OK

- UpdateAMMRuleResponse — Represents the response returned after updating an Automated Money Movement (AMM) rule. Contains the updated AMM rule details. Inherits standard response metadata from Gd.Bos.DataTransfer.Response.ResponseBase.
  - `updatedRule` AMMRule — Represents an Automated Money Movement (AMM) rule configuration. Contains identifiers, scheduling, transfer details, merchant categories, and associated transactions. Used to define, manage, and execute automated money movement rules for accounts.
    - `ruleID` integer — The unique identifier for the AMM rule.
    - `accountID` string, uuid — The source account identifier associated with this rule.
    - `ruleType` string, nullable — The type of rule (e.g., "RoundUp", "ScheduledTransfer").
    - `ruleFrequency` string, nullable — The frequency type of the rule (e.g., "Daily", "Weekly", "Monthly").
    - `ammRuleName` string, nullable — The name assigned to the AMM rule.
    - `startDate` string, date-time — The start date when the rule becomes active.
    - `endDate` string, date-time — The end date when the rule expires or is deactivated.
    - `qualifyAmount` number, double — The qualifying amount required to trigger the rule.
    - `maxCapAmount` number, double — The maximum cap amount for transfers under this rule.
    - `targetPurseID` string, uuid — The target purse identifier for the transfer.
    - `targetAccountID` string, uuid — The target account identifier for the transfer.
    - `contactName` string, nullable — The contact name associated with the rule or transfer.
    - `targetHandle` string, nullable — The handle (e.g., email, phone) of the transfer target.
    - `handleType` string, nullable — The type of handle used for the transfer (e.g., "Email", "Phone").
    - `rulePriority` integer — The priority of the rule for execution order.
    - `category` integer[], nullable — The list of merchant category codes associated with the rule.
    - `fixedTransferAmount` number, double — The fixed transfer amount for each execution of the rule.
    - `transferPercentage` number, double — The percentage of the qualifying amount to transfer.
    - `isRoundUpTransfer` boolean — Indicates whether the transfer is a round-up type.
    - `enrollmentDate` string, date-time — The date when the rule was enrolled or created.
    - `lastModifiedDate` string, date-time — The date when the rule was last modified.
    - `scheduleDay` integer — The scheduled day for rule execution (e.g., day of month).
    - `note` string, nullable — Additional notes or comments about the rule.
    - `ruleStatus` string, nullable — The current status of the rule (e.g., "Active", "Inactive").
    - `transactions` AMMTransaction[], nullable — The list of transactions associated with this rule. Each Gd.Bos.DataTransfer.AMMTransaction contains transaction details and status.
      - `ammTransactionKey` integer
      - `transactionAmount` number, double
      - `transactionDate` string, date-time, nullable
      - `transferIdentifier` string, uuid, nullable
      - `transactionStatus` string, nullable
      - `createDate` string, date-time
    - `paymentAmountOption` string, nullable — The payment amount option for the rule (e.g., "Full", "Partial").
    - `sourceOption` string, nullable — The source option for the rule (e.g., "Checking", "Savings").
    - `transferType` string, nullable — The transfer type for the rule (e.g., "Purse", "PeerToPeer", "SccPayment").
    - `nextExecutionDate` string, date-time, nullable — The next scheduled execution date for the rule, if applicable.
  - `responseDetails` ResponseDetail[], nullable — Required: A list of response details providing status codes, descriptions, and additional information about the result of the operation.
    - `code` integer — The primary status or error code for the response (e.g., 200 for success, 400 for validation error).
    - `subCode` integer, nullable — An optional subcode providing more granular detail about the response or error.
    - `description` string, nullable — A human-readable description of the response, error, or status.
    - `url` string, nullable — A URL linking to documentation or a web page with more information about the response code.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/greendot/apis/baas-apis.md) · [All operations](https://skmtc.net/greendot/apis/baas-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/greendot/baas-apis/versions/666553766b78/schema)
