diff --git a/src/developer/web-api/metadata.md b/src/developer/web-api/metadata.md
index 63966a230..7a37b338f 100644
--- a/src/developer/web-api/metadata.md
+++ b/src/developer/web-api/metadata.md
@@ -2525,15 +2525,15 @@ Table: programRuleAction
| name | description | Compulsory |
|---|---|---|
| programRule | The programRule that is the parent of this action. | Compulsory |
-| programRule- ActionType | The type of action that is to be performed.
* `DISPLAYTEXT` - Displays a text in a given widget.
* `DISPLAYKEYVALUEPAIR` - Displays a key and value pair(like a program indicator) in a given widget.
* `HIDEFIELD` - Hide a specified dataElement or trackedEntityAttribute.
- *content* - if defined, the text in *content* will be displayed to the end user in the instance where a value is previously entered into a field that is now about to be hidden (and therefore blanked). If *content* is not defined, a standard message will be shown to the user in this instance.
- *dataElement* - if defined, the HIDEFIELD action will hide this dataElement when the rule is effective.
- *trackedEntityDataValue* - if defined, the HIDEFIELD action will hide this trackedEntityDataValue when the rule is effective.
* `HIDESECTION` - Hide a specified section.
- *programStageSection* - must be defined. This is the programStageSection that will be hidden in case the parent rule is effective.
* `ASSIGN` - Assign a dataElement a value(help the user calculate something or fill in an obvious value somewhere)
- *content* - if defined, the value in *data* is assigned to this variable. If content id defined, and thus a variable is assigned for use in other rules, it is important to also assign a *programRule.priority* to make sure the rule with an ASSIGN action runs before the rule that will in turn evaluate the assigned variable.
- *data* - must be defined, data forms an expression that is evaluated and assigned to either a variable(#{myVariable}), a dataElement, or both.
- *dataElement* - if defined, the value in *data* is assigned to this data element.
Either the content or dataElement must be defined for the ASSIGN action to be effective.
* `SHOWWARNING` - Show a warning to the user, not blocking the user from completing the event or registration.
- *content* - if defined, content is a static part that is displayed at the end of the error message.
- *data* - if defined, data forms an expression that is evaluated and added to the end of the warning message.
- *dataElement* - if defined, the warning message is displayed next to this data element.
- *trackedEntityAttribute* - if defined, the warning message is displayed next to this tracked entity attribute.
Either dataElement or trackedEntityAttribute must be specified.
* `SHOWERROR` - Show an error to the user, blocking the user from completing the event or registration.
- *content* - if defined, content is a static part that is displayed in the start of the error message.
- *data* - if defined, data forms an expression that is evaluated and added to the end of the error message.
- *dataElement* - if defined, the error message is linked to this data element.
- *trackedEntityAttribute* - if defined, the error message is linked to this tracked entity attribute.
Either dataElement or trackedEntityAttribute must be specified.
* `WARNINGONCOMPLETE` - Show a warning to the user on the "Complete form" dialog, but allowing the user to complete the event.
- *content* - if defined, content is a static part that is displayed at the end of the error message.
- *data* - if defined, data forms an expression that is evaluated and added to the end of the warning message.
- *dataElement* - if defined, the warning message prefixed with the name/formName of the data element.
* `ERRORONCOMPLETE` - Show an error to the user on in a modal window when the user tries to complete the event. The user is prevented from completing the event.
- *content* - if defined, content is a static part that is displayed in the start of the error message.
- *data* - if defined, data forms an expression that is evaluated and added to the end of the error message.
- *dataElement* - if defined, the error message is linked to this data element.
* `CREATEEVENT` - Create an event within the same enrollment.
- *content*
- *data* - if defined, contains data values to assign the created event. The format is :. Where several values is specified, these are separated with comma.
AcMrnleqHqc:100,AqK1IHqCkEE:'Polyhydramnios' - *programStage* - must be defined, and designates the program stage that the rule shall create an event of.
* `SETMANDATORYFIELD` - Set a field to be mandatory.
- *dataElement* - if defined, this data element will be set to be mandatory in the data entry form.
- *trackedEntityAttribute* - if defined, this tracked entity attribute will be set to mandatory in the registration form or profile.
* `SENDMESSAGE` - To send message at completion of event/enrollment or at data value update.
- *messageTemplate* - if defined, this template will be delivered either as SMS or EMAIL depending upon DeliveryChannel value in message template.
* `SCHEDULEMESSAGE` - To schedule message at completion of event/enrollment or at data value update.
- *messageTemplate* - if defined, this template will be delivered either as SMS or EMAIL depending upon DeliveryChannel value in message template.
- *Date to send message* - Expression which is going to be used for evaluation of scheduled date. This expression should result in Date, any other resultant will be discarded and notification will not get scheduled. | Compulsory |
+| programRule- ActionType | The type of action that is to be performed.
* `DISPLAYTEXT` - Displays a text in a given widget.
* `DISPLAYKEYVALUEPAIR` - Displays a key and value pair(like a program indicator) in a given widget.
* `HIDEFIELD` - Hide a specified dataElement or trackedEntityAttribute.
- *content* - if defined, the text in *content* will be displayed to the end user in the instance where a value is previously entered into a field that is now about to be hidden (and therefore blanked). If *content* is not defined, a standard message will be shown to the user in this instance.
- *dataElement* - if defined, the HIDEFIELD action will hide this dataElement when the rule is effective.
- *trackedEntityDataValue* - if defined, the HIDEFIELD action will hide this trackedEntityDataValue when the rule is effective.
* `HIDESECTION` - Hide a specified section.
- *programStageSection* - must be defined. This is the programStageSection that will be hidden in case the parent rule is effective.
* `ASSIGN` - Assign a dataElement a value(help the user calculate something or fill in an obvious value somewhere)
- *content* - if defined, the value in *data* is assigned to this variable. If content id defined, and thus a variable is assigned for use in other rules, it is important to also assign a *programRule.priority* to make sure the rule with an ASSIGN action runs before the rule that will in turn evaluate the assigned variable.
- *data* - must be defined, data forms an expression that is evaluated and assigned to either a variable(#{myVariable}), a dataElement, or both.
- *dataElement* - if defined, the value in *data* is assigned to this data element.
Either the content or dataElement must be defined for the ASSIGN action to be effective.
* `SHOWWARNING` - Show a warning to the user, not blocking the user from completing the event or registration.
- *content* - if defined, content is a static part that is displayed at the end of the error message.
- *data* - if defined, data forms an expression that is evaluated and added to the end of the warning message.
- *dataElement* - if defined, the warning message is displayed next to this data element.
- *trackedEntityAttribute* - if defined, the warning message is displayed next to this tracked entity attribute.
Either dataElement or trackedEntityAttribute must be specified.
* `SHOWERROR` - Show an error to the user, blocking the user from completing the event or registration.
- *content* - if defined, content is a static part that is displayed in the start of the error message.
- *data* - if defined, data forms an expression that is evaluated and added to the end of the error message.
- *dataElement* - if defined, the error message is linked to this data element.
- *trackedEntityAttribute* - if defined, the error message is linked to this tracked entity attribute.
Either dataElement or trackedEntityAttribute must be specified.
* `WARNINGONCOMPLETE` - Show a warning to the user on the "Complete form" dialog, but allowing the user to complete the event.
- *content* - if defined, content is a static part that is displayed at the end of the error message.
- *data* - if defined, data forms an expression that is evaluated and added to the end of the warning message.
- *dataElement* - if defined, the warning message prefixed with the name/formName of the data element.
* `ERRORONCOMPLETE` - Show an error to the user on in a modal window when the user tries to complete the event. The user is prevented from completing the event.
- *content* - if defined, content is a static part that is displayed in the start of the error message.
- *data* - if defined, data forms an expression that is evaluated and added to the end of the error message.
- *dataElement* - if defined, the error message is linked to this data element.
* `SETMANDATORYFIELD` - Set a field to be mandatory.
- *dataElement* - if defined, this data element will be set to be mandatory in the data entry form.
- *trackedEntityAttribute* - if defined, this tracked entity attribute will be set to mandatory in the registration form or profile.
* `SENDMESSAGE` - To send message at completion of event/enrollment or at data value update.
- *messageTemplate* - if defined, this template will be delivered either as SMS or EMAIL depending upon DeliveryChannel value in message template.
* `SCHEDULEMESSAGE` - To schedule message at completion of event/enrollment or at data value update.
- *messageTemplate* - if defined, this template will be delivered either as SMS or EMAIL depending upon DeliveryChannel value in message template.
- *Date to send message* - Expression which is going to be used for evaluation of scheduled date. This expression should result in Date, any other resultant will be discarded and notification will not get scheduled. | Compulsory |
| location | Used for actionType DISPLAYKEYVALUEPAIR and DISPLAYTEXT to designate which widget to display the text or keyvaluepair in. Compulsory for DISPLAYKEYVALUEPAIR and DISPLAYTEXT. | See description |
| content | Used for user messages in the different actions. See the actionType overview for a detailed explanation for how it is used in each of the action types. Compulsory for SHOWWARNING, SHOWERROR, WARNINGONCOMPLETE, ERRORONCOMPLETE, DISPLAYTEXT and DISPLAYKEYVALUEPAIR. Optional for HIDEFIELD and ASSIGN. | See description |
-| data | Used for expressions in the different actions. See the actionType overview for a detailed explanation for how it is used in each of the action types. Compulsory for ASSIGN. Optional for SHOWWARNING, SHOWERROR, WARNINGONCOMPLETE, ERRORONCOMPLETE, DISPLAYTEXT, CREATEEVENT and DISPLAYKEYVALUEPAIR | See description |
+| data | Used for expressions in the different actions. See the actionType overview for a detailed explanation for how it is used in each of the action types. Compulsory for ASSIGN. Optional for SHOWWARNING, SHOWERROR, WARNINGONCOMPLETE, ERRORONCOMPLETE, DISPLAYTEXT and DISPLAYKEYVALUEPAIR | See description |
| dataElement | Used for linking rule actions to dataElements. See the actionType overview for a detailed explanation for how it is used in each of the action types. Optional for SHOWWARNING, SHOWERROR, WARNINGONCOMPLETE, ERRORONCOMPLETE, ASSIGN and HIDEFIELD | See description |
| trackedEntity- Attribute | Used for linking rule actions to trackedEntityAttributes. See the actionType overview for a detailed explanation for how it is used in each of the action types. Optional for SHOWWARNING, SHOWERROR and HIDEFIELD. | See description |
| option | Used for linking rule actions to options. See the actionType overview for a detailed explanation for how it is used in each of the action types. Optional for HIDEOPTION | See description |
| optionGroup | Used for linking rule actions to optionGroups. See the actionType overview for a detailed explanation for how it is used in each of the action types. Compulsory for SHOWOPTIONGROUP, HIDEOPTIONGROUP. | See description |
-| programStage | Only used for CREATEEVENT rule actions. Compulsory for CREATEEEVENT. | See description |
+| programStage | Used for HIDEPROGRAMSTAGE rule actions. Compulsory for HIDEPROGRAMSTAGE. | See description |
| programStage- Section | Only used for HIDESECTION rule actions. Compulsory for HIDESECTION | See description |
##### ProgramRuleAction Validation