---
updatedAt: 2026-02-06T00:24:43.000Z
agentTools:
  projectIndex: https://developer.greendot.com/embedded-finance/llms.txt
---

# Get AMM rules for a given account identifier

Retrieves the Auto Money Movement (AMM) rules for the specified account and rule status.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "BaaS APIs",
    "description": "Green Dot BaaS Partner API",
    "version": "v1",
    "x-generated-timestamp-utc": "2026-02-05T01:14:54.4774970Z"
  },
  "paths": {
    "/programs/{programCode}/accounts/{accountIdentifier}/ammRule/{ruleStatus}": {
      "get": {
        "tags": [
          "AMMRule"
        ],
        "summary": "Get AMM rules for a given account identifier",
        "description": "Retrieves the Auto Money Movement (AMM) rules for the specified account and rule status.",
        "operationId": "AMMRule_GET_GetRulesByAccountId",
        "parameters": [
          {
            "name": "programCode",
            "in": "path",
            "description": "The program code identifying the BaaS program context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accountIdentifier",
            "in": "path",
            "description": "The unique identifier for the account whose rules are being retrieved.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ruleStatus",
            "in": "path",
            "description": "The status of the rules to filter by (e.g., Active, Inactive).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-GD-RequestId",
            "in": "header",
            "description": "A unique request identifier for tracking and logging. Should be a GUID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAMMRuleResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAMMRuleResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAMMRuleResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAMMRuleResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAMMRuleResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAMMRuleResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAMMRuleResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAMMRuleResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AMMRule": {
        "type": "object",
        "properties": {
          "ruleID": {
            "type": "integer",
            "description": "The unique identifier for the AMM rule.",
            "format": "int64"
          },
          "accountID": {
            "type": "string",
            "description": "The source account identifier associated with this rule.",
            "format": "uuid"
          },
          "ruleType": {
            "type": "string",
            "description": "The type of rule (e.g., \"RoundUp\", \"ScheduledTransfer\").",
            "nullable": true
          },
          "ruleFrequency": {
            "type": "string",
            "description": "The frequency type of the rule (e.g., \"Daily\", \"Weekly\", \"Monthly\").",
            "nullable": true
          },
          "ammRuleName": {
            "type": "string",
            "description": "The name assigned to the AMM rule.",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "description": "The start date when the rule becomes active.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "The end date when the rule expires or is deactivated.",
            "format": "date-time"
          },
          "qualifyAmount": {
            "type": "number",
            "description": "The qualifying amount required to trigger the rule.",
            "format": "double"
          },
          "maxCapAmount": {
            "type": "number",
            "description": "The maximum cap amount for transfers under this rule.",
            "format": "double"
          },
          "targetPurseID": {
            "type": "string",
            "description": "The target purse identifier for the transfer.",
            "format": "uuid"
          },
          "targetAccountID": {
            "type": "string",
            "description": "The target account identifier for the transfer.",
            "format": "uuid"
          },
          "contactName": {
            "type": "string",
            "description": "The contact name associated with the rule or transfer.",
            "nullable": true
          },
          "targetHandle": {
            "type": "string",
            "description": "The handle (e.g., email, phone) of the transfer target.",
            "nullable": true
          },
          "handleType": {
            "type": "string",
            "description": "The type of handle used for the transfer (e.g., \"Email\", \"Phone\").",
            "nullable": true
          },
          "rulePriority": {
            "type": "integer",
            "description": "The priority of the rule for execution order.",
            "format": "int32"
          },
          "category": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": "The list of merchant category codes associated with the rule.",
            "nullable": true
          },
          "fixedTransferAmount": {
            "type": "number",
            "description": "The fixed transfer amount for each execution of the rule.",
            "format": "double"
          },
          "transferPercentage": {
            "type": "number",
            "description": "The percentage of the qualifying amount to transfer.",
            "format": "double"
          },
          "isRoundUpTransfer": {
            "type": "boolean",
            "description": "Indicates whether the transfer is a round-up type."
          },
          "enrollmentDate": {
            "type": "string",
            "description": "The date when the rule was enrolled or created.",
            "format": "date-time"
          },
          "lastModifiedDate": {
            "type": "string",
            "description": "The date when the rule was last modified.",
            "format": "date-time"
          },
          "scheduleDay": {
            "type": "integer",
            "description": "The scheduled day for rule execution (e.g., day of month).",
            "format": "int32"
          },
          "note": {
            "type": "string",
            "description": "Additional notes or comments about the rule.",
            "nullable": true
          },
          "ruleStatus": {
            "type": "string",
            "description": "The current status of the rule (e.g., \"Active\", \"Inactive\").",
            "nullable": true
          },
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AMMTransaction"
            },
            "description": "The list of transactions associated with this rule.\r\nEach Gd.Bos.DataTransfer.AMMTransaction contains transaction details and status.",
            "nullable": true
          },
          "paymentAmountOption": {
            "type": "string",
            "description": "The payment amount option for the rule (e.g., \"Full\", \"Partial\").",
            "nullable": true
          },
          "sourceOption": {
            "type": "string",
            "description": "The source option for the rule (e.g., \"Checking\", \"Savings\").",
            "nullable": true
          },
          "transferType": {
            "type": "string",
            "description": "The transfer type for the rule (e.g., \"Purse\", \"PeerToPeer\", \"SccPayment\").",
            "nullable": true
          },
          "nextExecutionDate": {
            "type": "string",
            "description": "The next scheduled execution date for the rule, if applicable.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents an Automated Money Movement (AMM) rule configuration.\r\nContains identifiers, scheduling, transfer details, merchant categories, and associated transactions.\r\nUsed to define, manage, and execute automated money movement rules for accounts."
      },
      "AMMTransaction": {
        "type": "object",
        "properties": {
          "ammTransactionKey": {
            "type": "integer",
            "format": "int64"
          },
          "transactionAmount": {
            "type": "number",
            "format": "double"
          },
          "transactionDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "transferIdentifier": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "transactionStatus": {
            "type": "string",
            "nullable": true
          },
          "createDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "GetAMMRuleResponse": {
        "type": "object",
        "properties": {
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AMMRule"
            },
            "description": "The list of Automated Money Movement (AMM) rules for the account.\r\nEach Gd.Bos.DataTransfer.AMMRule includes rule identifiers, configuration, scheduling, transfer details, merchant categories, and associated transactions.",
            "nullable": true
          },
          "responseDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResponseDetail"
            },
            "description": "Required: A list of response details providing status codes, descriptions, and additional information about the result of the operation.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the response returned after retrieving Automated Money Movement (AMM) rules for an account.\r\nContains a list of AMM rule configurations.\r\nInherits standard response metadata from Gd.Bos.DataTransfer.Response.ResponseBase."
      },
      "ResponseDetail": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "The primary status or error code for the response (e.g., 200 for success, 400 for validation error).",
            "format": "int32"
          },
          "subCode": {
            "type": "integer",
            "description": "An optional subcode providing more granular detail about the response or error.",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "A human-readable description of the response, error, or status.",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "A URL linking to documentation or a web page with more information about the response code.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a detailed status or error message for an API response.\r\nContains a code, optional subcode, human-readable description, and a URL for more information.\r\nUsed to provide granular feedback about the outcome of an operation, including success, warnings, or errors."
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "bearer token",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "x-readme": {
    "explorer-enabled": false,
    "proxy-enabled": false,
    "samples-languages": [
      "csharp",
      "java",
      "python",
      "node",
      "objectivec"
    ]
  }
}
```