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.
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. |
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
Field | Format | Required/Optional | Type |
---|---|---|---|
X-GD-RequestId | Header | Required | String |
accountIdentifier | Path | Required | String |
programCode | Path | Required | String |
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 • 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
Name | Required/Optional | Schema |
---|---|---|
ammRuleName | Optional | string |
endDate | Optional | string (date-time) |
fixedTransferAmount | Optional | number |
maxCapAmount | Optional | number |
ruleId | Optional | integer (int64) |
rulePriority | Optional | integer (int64) |
scheduleDay | Optional | integer (int64) |
startDate | Optional | string (date-time) |
transferPercentage | Optional | number |
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
Name | Type | Required? | Schema |
---|---|---|---|
programCode | Path | Y | String |
accountIdentifier | Path | Y | String |
ruleID | Path | Y | Integer($int64) |
x-GD-REQUESTId | Header | Y | String |
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
Code | subCode |
---|---|
10 | 0 |
101 | 0 |
503 | 0 |
400 | 0 |
200 | 0 |
4 | 0 |
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
Name | Type | Required/Optional | Schema |
---|---|---|---|
X-GD-RequestId | Header | Required | String |
accountIdentifier | Path | Required | String |
programCode | Path | Required | String |
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
Code | subCode |
---|---|
10 | 0 |
101 | 0 |
503 | 0 |
400 | 0 |
200 | 0 |
4 | 0 |
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
Name | Type | Required/Optional | Schema |
---|---|---|---|
X-GD-RequestId | Header | Required | String |
accountIdentifier | Path | Required | String |
programCode | Path | Required | String |
ruleId | Required | Integer (int64) |
Sample Request Body
{
"ruleId":13913
}
Sample Response Body
{
"responseDetails":[
{
"code":0,
"subCode":0,
"description":"Success",
"url":"http://tbd"
}
]
}
Response Codes
code | subCode |
---|---|
10 | 0 |
101 | 0 |
503 | 0 |
400 | 0 |
200 | 0 |
4 | 0 |
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
Name | Type | Required/Optional | Schema |
---|---|---|---|
X-GD-RequestId | Header | Required | String |
accountIdentifier | Path | Required | String |
programCode | Path | Required | String |
ruleStatus | Path | Required | String |
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
Name | Required/Optional | Schema |
---|---|---|
ruleStatus | Optional | string |
accountId | Optional | string (uuid) |
ammRuleName | Optional | string |
category | Optional | integer (int32) |
contactName | Optional | string |
endDate | Optional | string (date-time) |
enrollmentDate | Optional | string (date-time) |
fixedTransferAmount | Optional | number |
handleType | Optional | string |
isRoundUpTransfer | Optional | boolean |
lastModifiedDate | Optional | string (date-time) |
maxCapAmount | Optional | number |
note | Optional | string |
qualifyAmount | Optional | number |
ruleFrequency | Optional | string |
ruleId | Optional | integer (int64) |
rulePriority | Optional | integer (int32) |
ruleType | Optional | string |
scheduleDay | Optional | integer (int32) |
startDate | Optional | string (date-time) |
targetAccountId | Optional | string (uuid) |
targetHandle | Optional | string |
targetPurseId | Optional | string (uuid) |
transferPercentage | Optional | number |
paymentAmountOption | Optional | string |
sourceOption | Optional | string |
Response Codes
Code | subCode |
---|---|
10 | 0 |
503 | 0 |
400 | 0 |
200 | 0 |
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
Get | When | Result |
---|---|---|
AMM Rule by RuleKey | RuleKey belongs to current account | Return AMM rule |
AMM Rule by RuleID | RuleID does not belong to current account | Return 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: |
---|---|---|
nextExecutionDate | Result has active / expiring rule | Gateway call GetRulesByTargetAccountId "programs/ {programCode}/accounts/{accountIdentifier}/ammRuleByTar getAccount/{ruleStatus}" |
transferType | Response includes records | Gateway call GetRulesByTargetAccountId "programs/{programCode} /accounts/ {accountIdentifier}/ammRule/{ruleStatus}" or Gateway call GetRulesByTargetAccountId "programs/{programCode}/accounts/{accountIdentifier} /ammRuleByTargetAccount/ {ruleStatus} |
Error Codes
HTTP Code | Code | subCode | Description |
---|---|---|---|
350 | 201 | ||
503 | 0 | ||
400 | 0 | ||
200 | 0 | ||
3 | 800 | ||
3 | 801 | ||
3 | 802 | ||
350 | 1101 | Invalid RuleId. | |
101 | 1102 | EndDate cannot be in the past. | |
101 | 1104 | Either RuleStatus or EndDate must be provided. | |
1105 | At least one of the following needs to be set: • TargetPurseID • TargetAccountID | ||
1106 | TargetAccountID is required for transferType SccPayment. | ||
1107 | PaymentAmountOption and SourceOption should be null when transferType is not sccpayment. | ||
400 | 350 | 1108 | FixedTransferAmount should be greater than 0 when: • paymentAmountOption is not provided, or • paymentAmountOption is provided with otherAmount |
400 | 350 | 1109 | FixedTransferAmount should be 0 when paymentAmountOption is not otherAmount. |
1110 | HandleType is required for specific cases. | ||
1111 | Spend Category is required for specific cases. | ||
1112 | Invalid Spend Category. | ||
1113 | TargetAccountID is required for specific cases. | ||
1114 | TargetHandle is required for specific cases. | ||
1115 | One of the following needs to be set: • FixedTransferAmount • TransferPercentage • IsRoundUpTransfer | ||
1117 | If rule is DateDriven, scheduleday must be greater than 0. | ||
1118 | If rule is DateDriven, frequency cannot be RealTime. | ||
1119 | If rule frequency is weekly or every2weeks, scheduleday must be 1-7. | ||
1120 | If rule frequency is monthly, scheduleday must be 1-31. | ||
1121 | Invalid EndDate. | ||
1122 | A valid StartDate is required. | ||
101 | 1124 | EndDate cannot be modified for one-time Amm Rule. |
Updated 11 months ago