Auto Money Movement

Auto Money Movement APIs can be used for managing Auto Money Movement rules.

Overview

Auto Money Movement APIs can be used for managing Auto Money Movement rules.

Stopping Auto Money Movement Rules

When goals are met, AMM rules stop automatically, leaving money in the account’s available balance.

ConditionsAmountsResult
• Account has purse • Purse has goal set • Purse has AMM rulePurse balance > = Goal AmountAMM rule is deactivated. AMM stops.
• Account has purse • Purse has goal set • Purse has AMM rule • Goal has already been met prior to transfer to another pursePurse balance < Goal Amount after transferAMM rule is reactivated. AMM resumes.
• Account has purse • Purse has goal set • Purse has AMM rule • AMM rule contains maxCapAmount • User wants to actively pause or delete rulePurse Balance > Goal amount after transferAMM occurs as normal.

How It Works

Auto Money Movement API Endpoints

Create New AMM Rule

This endpoint allows the addition of a new Auto Money Movement (AMM) rule to an account. After a rule is applied to an account, money can be automatically moved based on the rule parameters.

API Call Structure

POST /programs/{programCode}/accounts/{accountIdentifier}/ammRule

API Call Structure Parameters

FieldFormatRequired/OptionalType
X-GD-RequestIdHeaderRequiredString
accountIdentifierPathRequiredString
programCodePathRequiredString

Sample Request Bodies

Sample Request Body – Date Driven (Move money to savings purse monthly):-
{
   "requestHeader":{
      "requestId":"05e853a6-4087-4f69-af95-6c9008321c72"
   },
   "ruleType":"DateDriven",
   "ruleFrequency":"monthly",
   "ammRuleName":"Primary to savings",
   "startDate":"2019-06-16T17:33:32.146Z",
   "endDate":"2020-06-16T17:33:32.146Z",
   "qualifyAmount":100,
   "maxCapAmount":100,
   "targetPurseId":"d46d6c6c-a8d3-4187-9689-09bfe082b79b",
   "targetHandle":"",
   "handleType":"phone",
   "rulePriority":1,
   "category":[
      1
   ],
   "fixedTransferAmount":50,
   "transferPecentage":0,
   "isRoundUpTransfer":false,
   "scheduleDay":17,
   "note":"Test Monthly",
   "programCode":"test"
}

Sample Request Body – Purchase (round-up):-
{
   "requestHeader":{
      "requestId":"05e853a6-4087-4f69-af95-6c9008321c72"
   },
   "ruleType":"purchase",
   "ruleFrequency":"realTime",
   "ammRuleName":"Round up my purchase",
   "startDate":"2019-06-16T17:33:32.146Z",
   "endDate":"2020-06-16T17:33:32.146Z",
   "qualifyAmount":100,
   "maxCapAmount":1000,
   "targetPurseId":"d46d6c6c-a8d3-4187-9689-09bfe082b79b",
   "targetHandle":"",
   "handleType":"phone",
   "rulePriority":1,
   "category":[
      1
   ],
   "fixedTransferAmount":0,
   "transferPecentage":0,
   "isRoundUpTransfer":true,
   "scheduleDay":0,
   "note":"Round Up Rule - Test",
   "programCode":"test"
}

Sample Request – P2P (Default source purse to primary if not provided):-
{
   "requestHeader":{
      "requestId":"07486ff6-b364-4338-aadd-925693dec8ce"
   },
   "transferIdentifier":"f8664804-3187-4313-b0a0-ceae6ed42b0f",
   "transferType":"purse",
   "transferAuthorizationType":"execute",
   "initiator":"D2CC3A98-F16E-478E-BDE7-FFECAEA5E574",
   "transferRoute":{
      "transactionAmount":10.00,
      "sourceTransferEndpoint":{
         "transferEndpointType":"purse",
         "identifier":"",
         "currency":"USD"
      },
      "targetTransferEndpoint":{
         "transferEndpointType":"purse",
         "identifier":"17C5C5FD-3886-4D77-939A-6583C10E55BA",
         "currency":"USD"
      }
   }
}


Sample Request – Recurring Payment to Secured Credit Product:-
{
   "ruleType":"DateDriven",
   "ruleFrequency":"Weekly",
   "ammRuleName":"SCCPaymentRule132",
   "startDate":"2021-03-07T15:34:37.628Z",
   "endDate":"2022-03-07T15:33:37.628Z",
   "transferType":"SCCPayment",
   "paymentAmountOption":"MinimumPayment",
   "sourceOption":"DDA",
   "qualifyAmount":0,
   "targetAccountID":"a9730199-e188-42dc-bc5d-600bd70a2607",
   "targetHandle":"",
   "handleType":"None",
   "rulePriority":1,
   "category":,
   "fixedTransferAmount":0,
   "transferPercentage":0,
   "isRoundUpTransfer":false,
   "scheduleDay":"1",
   "note":"TestWeekly"
}

Request Parameters

Field Required/Optional Description

requestId

Required

Unique identifier for the request.

ruleType

Required

The type of rule being created. Options: • purchase • achIn • dateDriven

ruleFrequency

Required

How often the rule or transfer is scheduled to occur. Options: • realTime • oneTime • weekly • monthly

ammRuleName

Optional

Name assigned to the rule. Example – Primary to savings

startDate

Required

Date the rule will start.

endDate

Optional

Date the rule will end.

qualifyAmount

Required

Amount of transfer.

maxCapAmount

Optional

Default – no limit

targetPurseId

Optional

Unique identifier for the purse the transfer is going to.

targetHandle

Optional

Options:
• phoneNumber
• email
• username
• depending on handleType

handleType

Required

Options:
• userName
• phoneNumber
• userName

rulePriority

Optional

category

Optional

fixedTransferAmount

At least one of these values is required.

Amount of transfer.

transferPercentage

At least one of these values is required.

Percentage of direct deposit amount to be transferred. Only applies to direct deposits.

isroundupTransfer

At least one of these values is required.

Amount to round purchases.

scheduleDay

Optional

If selected, ruleFrequency must be included as well. Example - scheduleDay: 2, ruleFrequency: weekly scheduleDay Options: • weekly – 1-7 ONLY • monthly – 1-31 ONLY

note

Optional

Description

programCode

Required

Partner’s program code

sourceOption

Optional

For Secured Credit products, see Source Option for AMM rule

paymentAmountOption

Optional

For Secured Credit Products, see Payment Amount Option for AMM rule

Response Bodies

Sample Response – Happy Path:-
{
   "ruleEnrollmentKey":0,
   "responseDetails":[
      {
         "code":0,
         "subCode":0,
         "description":"Success",
         "url":"http://tbd"
      }
   ]
}

Sample Response - P2P:-
{
   "responseHeader":{
      "responseId":"07486ff6-b364-4338-aadd-925693dec8ce",
      "statusCode":0,
      "subStatusCode":0,
      "message":"Success"
   },
   "transferIdentifier":"f8664804-3187-4313-b0a0-ceae6ed42b0f",
   "transferStatus":"completed",
   "accounts":[
      {
         "accountIdentifier":"D2CC3A98-F16E-478E-BDE7-FFECAEA5E574",
         "purses":[
            {
               "purseIdentifier":"c4d9fb38-3b0e-4f6f-84c3-e2252b8e54e3",
               "purseType":"primary",
               "availableBalance":9970.0000,
               "ledgerBalance":9970.0000,
               "availableBalanceAsOfDateTime":"2019-05-29T14:00:35",
               "ledgerBalanceAsOfDateTime":"2019-05-29T14:00:35"
            },
            {
               "purseIdentifier":"17c5c5fd-3886-4d77-939a-6583c10e55ba",
               "purseType":"savings",
               "availableBalance":30.0000,
               "ledgerBalance":30.0000,
               "availableBalanceAsOfDateTime":"2019-05-28T17:15:08.650467",
               "ledgerBalanceAsOfDateTime":"2019-05-28T17:15:08.650467"
            }
         ]
      }
   ]
}

Update an AMM Rule

This endpoint allows the ammRuleName, maxCapAmount and fixedTransferAmount to be changed for a specific Auto Money Movement (AMM) rule based on ruleId.

API Call Structure

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

Request Parameters

NameRequired/OptionalSchema
ammRuleNameOptionalstring
endDateOptionalstring (date-time)
fixedTransferAmountOptionalnumber
maxCapAmountOptionalnumber
ruleIdOptionalinteger (int64)
rulePriorityOptionalinteger (int64)
scheduleDayOptionalinteger (int64)
startDateOptionalstring (date-time)
transferPercentageOptionalnumber

Sample Request Body

{
   "ruleId":"570",
   "ammRuleName":"Change Name Testing to Change",
   "startDate":"2019-06-27T22:45:48.503Z",
   "endDate":"2020-06-27T22:45:48.503Z",
   "maxCapAmount":"1000",
   "rulePriority":"",
   "fixedTransferAmount":"10",
   "transferPercentage":"",
   "scheduleDay":"0"
}

Sample Response Body

"updatedRule":{
   "ruleId":571,
   "accountID":"d8cbad68-1052-443b-9b60-a198d81a5136",
   "ruleType":3,
   "ruleFrequency":2,
   "ammRuleName":"Change Name Testing to Change",
   "startDate":"2019-06-27T15:45:48.503Z",
   "endDate":"2020-06-27T15:45:48.503Z",
   "qualifyAmount":100.0000,
   "maxCapAmount":1000.0000,
   "targetPurseID":"00000000-0000-0000-0000-000000000000",
   "targetHandle":"6039445232",
   "handleType":1,
   "rulePriority":1,
   "category":[
      1,
      3,
      8,
      9
   ],
   "fixedTransferAmount":10.0000,
   "transferPercentage":0.00,
   "isRoundUpTransfer":false,
   "enrollmentDate":"2019-06-27T15:45:48.800Z",
   "lastModifiedDate":"2019-06-27T08:53:23.910Z",
   "scheduleDay":6,
   "note":"Date Driven Rule - Test"
},
"responseDetails":[
   {
      "code":0,
      "subCode":0,
      "description":"Success",
      "url":"http://tbd"
   }
]
}

Update an AMM Rule Status

This endpoint is used to update the status of an AMM rule.

API Call Structure

PUT /programs/{programCode}/accounts/{accountIdentifier}/ammRuleStatus/{ruleId}

API Call Structure Parameters

NameTypeRequired?Schema
programCodePathYString
accountIdentifierPathYString
ruleIDPathYInteger($int64)
x-GD-REQUESTIdHeaderYString

Request Body

{
    "ruleStatus": "active",
    "endDate": "2022-08-31T13:08:16.119Z"
}

Response Body

{
  "responseDetails": [
    {
      "code": 0,
      "subCode": 0,
      "description": "string",
      "url": "string"
    }
  ]
}

End Old AMM Rule and Start New One

PUT /accounts/{accountIdentifier}/ammRule/{ruleId} can also be used to end an old rule by setting the ruleStatus to inActive. The rule will then be recreated with the updated attributes and a new active ruleStatus.

Sample Request Body

{
   "ruleId":"14792",
   "ammRuleName":"Change ammRuleName",
   "startDate":"2019-11-16T00:41:33.262Z",
   "endDate":"2020-11-16T00:41:33.262Z",
   "maxCapAmount":"1000",
   "rulePriority":"2",
   "fixedTransferAmount":"10.00",
   "transferPercentage":"",
   "scheduleDay":""
}

Sample Response Body

{
   "updatedRule":{
      "ruleID":14793,
      "accountId":"9365096e-3962-4cd2-8dc9-eab3a9565aee",
      "ruleType":"ACHIn",
      "ruleFrequency":"Realtime",
      "ammRuleName":"Change ammRuleName",
      "startDate":"2019-11-15T16:41:33.263Z",
      "endDate":"2020-11-15T16:41:33.263Z",
      "qualifyAmount":1.0,
      "maxCapAmount":1000.0,
      "targetPurseID":"00000000-0000-0000-0000-000000000000",
      "targetAccountID":"af786af6-9ea8-453f-a22f-e1d259116d3e",
      "contactName":"",
      "targetHandle":"6333777651",
      "handleType":"Phone",
      "rulePriority":2,
      "category":[
         1,
         3,
         8,
         9
      ],
      "fixedTransferAmount":10.0,
      "transferPercentage":0.0,
      "isRoundUpTransfer":false,
      "enrollmentDate":"2019-11-15T16:41:33.447Z",
      "lastModifiedDate":"2019-11-15T16:41:34.150Z",
      "scheduleDay":0,
      "note":"ACHIn Rule - Test",
      "ruleStatus":"Active"
   },
   "responseDetails":[
      {
         "code":0,
         "subCode":0,
         "description":"Success",
         "url":"http://tbd"
      }
   ]
}

Response Codes

CodesubCode
100
1010
5030
4000
2000
40

Update AMM Rule Priorities

This endpoint allows all Auto Money Movement (AMM) rule priorities for a specific account to be updated all at one time.

API Call Structure

PUT /programs/{programCode}/accounts/{accountIdentifier}/ammRulePriority

Request Parameters

NameTypeRequired/OptionalSchema
X-GD-RequestIdHeaderRequiredString
accountIdentifierPathRequiredString
programCodePathRequiredString

Sample Request Body

{
 "rulePriorities”: [
{
“ruleId”: “1148”,
"rulePriority": "2",
“ruleId”: “1149”,
"rulePriority": "3",
“ruleId”: “1150”,
"rulePriority": "1",
}
]

Sample Response Body

{
   "responseDetails":[
      {
         "code":0,
         "subCode":0,
         "description":"Success",
         "url":"http://tbd"
      }
   ]
}

Response Codes

CodesubCode
100
1010
5030
4000
2000
40

Delete AMM Rule

This endpoint is used to delete an Auto Money Movement (AMM) rule based on accountIdentifier and ruleId.

Structure of API Call:

DELETE /programs/{programCode}/accounts/{accountIdentifier}/ammRule

API Call Structure Parameters

NameTypeRequired/OptionalSchema
X-GD-RequestIdHeaderRequiredString
accountIdentifierPathRequiredString
programCodePathRequiredString
ruleIdRequiredInteger (int64)

Sample Request Body

{
   "ruleId":13913
}

Sample Response Body

{
   "responseDetails":[
      {
         "code":0,
         "subCode":0,
         "description":"Success",
         "url":"http://tbd"
      }
   ]
}

Response Codes

codesubCode
100
1010
5030
4000
2000
40

Obtain List of AMM Rules for Account

This endpoints is used to obtain a list of active Auto Money Movement (AMM) rules for a specific account.

API Call Structure

GET /programs/{programCode}/accounts/{accountIdentifier}/ammRule/{ruleStatus}

API Call Structure Parameters

NameTypeRequired/OptionalSchema
X-GD-RequestIdHeaderRequiredString
accountIdentifierPathRequiredString
programCodePathRequiredString
ruleStatusPathRequiredString

Request

Call GET /ammRule/{ruleStatus} and include the accountIdentifier, programCode and ruleStatus.

Response Bodies

Sample Response:-
{
   "rules":[
      {
         "ruleID":72958,
         "accountID":"dd723adb-a4c1-4fa1-989f-83a2597acc92",
         "ruleType":"DateDriven",
         "ruleFrequency":"Weekly",
         "ammRuleName":"SCCPaymentRule132",
         "startDate":"2021-03-07T15:34:37.627Z",
         "endDate":"2022-03-07T15:33:37.627Z",
         "qualifyAmount":0.0,
         "maxCapAmount":0.0,
         "targetPurseID":"00000000-0000-0000-0000-000000000000",
         "targetAccountID":"a9730199-e188-42dc-bc5d-600bd70a2607",
         "contactName":"",
         "targetHandle":"",
         "handleType":"None",
         "rulePriority":1,
         "fixedTransferAmount":0.0,
         "transferPercentage":0.0,
         "isRoundUpTransfer":false,
         "enrollmentDate":"2021-03-07T14:33:38.163Z",
         "lastModifiedDate":"2021-03-07T14:33:38.163Z",
         "scheduleDay":1,
         "note":"TestWeekly",
         "ruleStatus":"active",
         "paymentAmountOption":"minimumPayment",
         "sourceOption":"dda"
      }
   ],
   "responseDetails":[
      {
         "code":0,
         "subCode":0,
         "description":"Success",
         "url":"http://tbd"
      }
   ]
}

Sample Response – External Account:-
{
   "rules":[
      {
         "ruleID":73002,
         "accountID":"0bf0ac44-f059-4a47-8ef2-47ab9acd0795",
         "ruleType":"DateDriven",
         "ruleFrequency":"Monthly",
         "ammRuleName":"SCCPaymentRule844",
         "startDate":"2021-03-08T08:13:12.040Z",
         "endDate":"2022-03-08T08:12:12.040Z",
         "qualifyAmount":0,
         "maxCapAmount":0,
         "targetPurseID":"00000000-0000-0000-0000-000000000000",
         "targetAccountID":"e5209b0e-1dd4-4d2c-8f2b-2eb80ed33a58",
         "contactName":"",
         "targetHandle":"",
         "handleType":"None",
         "rulePriority":1,
         "fixedTransferAmount":0,
         "transferPercentage":0,
         "isRoundUpTransfer":false,
         "enrollmentDate":"2021-03-08T07:12:12.490Z",
         "lastModifiedDate":"2021-03-08T07:12:12.490Z",
         "scheduleDay":7,
         "note":"TestMonthly",
         "ruleStatus":"active",
         "paymentAmountOption":"currentBalance",
         "sourceOption":"achPull"
      }
   ],
   "responseDetails":[
      {
         "code":0,
         "subCode":0,
         "description":"Success",
         "url":"http://tbd"
      }
   ]
}

Response Parameters

NameRequired/OptionalSchema
ruleStatusOptionalstring
accountIdOptionalstring (uuid)
ammRuleNameOptionalstring
categoryOptionalinteger (int32)
contactNameOptionalstring
endDateOptionalstring (date-time)
enrollmentDateOptionalstring (date-time)
fixedTransferAmountOptionalnumber
handleTypeOptionalstring
isRoundUpTransferOptionalboolean
lastModifiedDateOptionalstring (date-time)
maxCapAmountOptionalnumber
noteOptionalstring
qualifyAmountOptionalnumber
ruleFrequencyOptionalstring
ruleIdOptionalinteger (int64)
rulePriorityOptionalinteger (int32)
ruleTypeOptionalstring
scheduleDayOptionalinteger (int32)
startDateOptionalstring (date-time)
targetAccountIdOptionalstring (uuid)
targetHandleOptionalstring
targetPurseIdOptionalstring (uuid)
transferPercentageOptionalnumber
paymentAmountOptionOptionalstring
sourceOptionOptionalstring

Response Codes

CodesubCode
100
5030
4000
2000

Obtain AMM Rule

Access the AMM rule from the RuleID through via the ruleID key in the queryString. If the Gateway or partner passes the value for this key, the system returns the AMM rule by the specific RuleId, provided it belongs to the current account identifier.

API Call Structure

GET /programs/{programCode}/accounts/{accountIdentifier}/ammRuleByTargetAccount/{ruleStatus}?ruleKey=XXXX

GetWhenResult
AMM Rule by RuleKeyRuleKey belongs to current accountReturn AMM rule
AMM Rule by RuleIDRuleID does not belong to current accountReturn Status code 10, Subcode 0

Response Details

439e-a674-944795c8f5c9/ammRuleByTargetAccount/Active?transferType=SCCPayment&includeTransactions=true&rule
Ids=75249 HTTP/1.1
Accept-Encoding: gzip,deflate
Authorization: Bearer HhtsQWTX3GqruJiHNxLLWg==
X-GD-RequestId: ba11a062-8ab4-4622-94x5-6b4b32c38e9b
Content-Length: 0
Host: bospard.qa.uw2.gdotawxxp.com
Connection: go-Alive
User-Agent: Apache-HttpClient/4.5.2 (Java/1.8.0_181)

Response Body

{
   "rules":[
      {
         "ruleID":75249,
         "accountID":"bb4caae1-cc59-4b60-a154e-64a96179f50d",
         "ruleType":"DateDriven",
         "ruleFrequency":"Monthly",
         "ammRuleName":"SCCPaymentRule146",
         "startDate":"2021-04-14T11:00:31.757Z",
         "endDate":"2022-04-14T10:59:31.757Z",
         "qualifyAmount":0.0,
         "maxCapAmount":0.0,
         "targetPurseID":"00000000-0000-0000-0000-000000000000",
         "targetAccountID":"b1691115-6450-430e-a454-944455c8f5c9",
         "contactName":"",
         "targetHandle":"",
         "handleType":"None",
         "rulePriority":1,
         "fixedTransferAmount":0.0,
         "transferPercentage":0.0,
         "isRoundUpTransfer":false,
         "enrollmentDate":"2021-04-14T45:59:31.944Z",
         "lastModifiedDate":"2021-04-14T44:59:31.967Z",
         "scheduleDay":14,
         "note":"TestMonthly",
         "ruleStatus":"active",
         "transactions":[
            
         ],
         "paymentAmountOption":"currentBalance",
         "sourceOption":"achPull",
         "transferType":"SccPayment",
         "nextExecutionDate":"2044-04-14T44:00:31.000Z"
      }
   ],
   "responseDetails":[
      {
         "code":0,
         "subCode":0,
         "description":"Success",
         "url":"http://abc"
      }
   ]
}

Pause/Unpause Auto Money Movement

This API gives the Flex accountholder the option to pause and unpause money movement without deleting the Auto Money Movement (AMM) rule established for their account.

How It Works

When an AMM rule is:

  • Paused (default), no money movement occurs.
  • Unpaused, money movement resumes.
  • Paused or unpaused multiple times consecutively, no action or errors occur.

Affected APIs:

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

POST /programs/{programCode}/accounts/{accountIdentifier}/ammRule

GET /programs/{programCode}/accounts/{accountIdentifier}/ammRuleByTargetAccount/{ruleStatus}

GET /programs/{programCode}/accounts/{accountIdentifier}/ammRule/{ruleStatus}

NOTE: When a rule is retrieved via GET, the following occurs:

  • The rule state (paused/unpaused) is also returned.
  • Paused rules are returned with active rules.
  • Inactive rules are not retrieved.

When Money Movement Is Tied to a Goal

When a goal is set for a purse, the following conditions determine whether money movement stops and when it resumes.

Conditions Amounts Result

• Account has purse
• Purse has goal set
• Purse has AMM rule

Purse balance >= Goal Amount

AMM rule is deactivated. AMM stops.

• Account has purse
• Purse has goal set
• Purse has AMM rule
• Goal has already been met prior to transfer to another purse

Purse balance < Goal Amount after transfer

AMM rule is reactivated. AMM resumes.

• Account has purse
• Purse has goal set
• Purse has AMM rule
• AMM rule contains maxCapAmount
• User wants to actively pause or delete rule

Purse Balance > Goal amount after transfer

AMM occurs as normal.

Checking Next Execution Date of the AMM Rule

Returned:When:Conditions:
nextExecutionDateResult has active / expiring ruleGateway call GetRulesByTargetAccountId programs/ {programCode}/accounts/{accountIdentifier}/ammRuleByTar getAccount/{ruleStatus}
transferTypeResponse includes recordsGateway call GetRulesByTargetAccountId programs/{programCode} /accounts/ {accountIdentifier}/ammRule/{ruleStatus} or Gateway call GetRulesByTargetAccountId programs/{programCode}/accounts/{accountIdentifier} /ammRuleByTargetAccount/ {ruleStatus}

Error Codes

HTTP CodeCodesubCodeDescription
350201
5030
4000
2000
3800
3801
3802
3501101Invalid RuleId.
1011102EndDate cannot be in the past.
1011104Either RuleStatus or EndDate must be provided.
1105At least one of the following needs to be set: • TargetPurseID • TargetAccountID
1106TargetAccountID is required for transferType SccPayment.
1107PaymentAmountOption and SourceOption should be null when transferType is not sccpayment.
4003501108FixedTransferAmount should be greater than 0 when: • paymentAmountOption is not provided, or • paymentAmountOption is provided with otherAmount
4003501109FixedTransferAmount should be 0 when paymentAmountOption is not otherAmount.
1110HandleType is required for specific cases.
1111Spend Category is required for specific cases.
1112Invalid Spend Category.
1113TargetAccountID is required for specific cases.
1114TargetHandle is required for specific cases.
1115One of the following needs to be set: • FixedTransferAmount • TransferPercentage • IsRoundUpTransfer
1117If rule is DateDriven, scheduleday must be greater than 0.
1118If rule is DateDriven, frequency cannot be RealTime.
1119If rule frequency is weekly or every2weeks, scheduleday must be 1-7.
1120If rule frequency is monthly, scheduleday must be 1-31.
1121Invalid EndDate.
1122A valid StartDate is required.
1011124EndDate cannot be modified for one-time Amm Rule.

What’s Next

Please refer to the AMM Rule API References for technical details.