AssertCondition policy Stay organized with collections Save and categorize content based on your preferences.
This pageapplies toApigee andApigee hybrid.
View Apigee Edge documentation.![]()
The AssertCondition policy evaluates a conditional statement at runtime in the request or response flows. You can define a condition based on the flow variables, and use this policy to assert the condition. A condition always evaluates to a boolean value, either true or false. For more information about writing a conditional statement, seeConditions reference.
After evaluating the condition, the AssertCondition policy stores the result of the evaluation in theassertcondition.policy-name.truthValue flow variable. You can use the resultant flow variable in your subsequent callouts or orchestrated logic. If a condition evaluates to true, the value of the variable is set totrue,false otherwise. If you have defined multiple AssertCondition policies, thepolicy-name in the variable name helps you to uniquely identify the variable.
This policy is aStandard policy and can be deployed to any environment type. For information on policy types and availability with each environment type, seePolicy types.
<AssertCondition>
Defines an<AssertCondition> policy. By using this policy, you can evaluate a conditional statement that has one or more conditions joined by a logical operator. For information about all the supported operators in a condition, seeOperators.
true or afalse.| Default Value | N/A |
| Required? | Required |
| Type | Complex type |
| Parent Element | N/A |
| Child Elements | <Condition><DisplayName> |
The following table provides a high-level description of the child elements of<AssertCondition>:
| Child Element | Required? | Description |
|---|---|---|
<Condition> | Yes | Specifies the condition to evaluate. |
<DisplayName> | Optional | A custom name for the policy. |
The<AssertCondition> element uses the following syntax:
Syntax
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><AssertCondition"> <!-- Display name for this policy --> <DisplayName>DISPLAY_NAME</DisplayName> <!-- Assertion's condition where operators are defined --> <Condition>CONDITIONAL_STATEMENT</Condition></AssertCondition>
Example
The following example checks if thegoogle.dialogflow.my-prefix.claimAmount variable is greater than 0 and less than 1000.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><AssertCondition continueOnError="false" enabled="true" name="MyAssertCondition"> <DisplayName>Assert My Condition</DisplayName> <Condition>(google.dialogflow.my-prefix.claimAmount > 0) and (google.dialogflow.my-prefix.claimAmount LesserThan 1000)</Condition></AssertCondition>
In this example:
- If the value of
google.dialogflow.my-prefix.claimAmountvariable is 500, the condition evaluates to true and hence theassertcondition.MyAssertCondition.truthValuevariable is set totrue. - However, if the value of the
google.dialogflow.my-prefix.claimAmountvariable is 1200, theassertcondition.MyAssertCondition.truthValuevariable is set tofalse.
This element has the following attributes that are common to all policies:
| Attribute | Default | Required? | Description |
|---|---|---|---|
name | N/A | Required | The internal name of the policy. The value of the Optionally, use the |
continueOnError | false | Optional | Set tofalse to return an error when a policy fails. This is expected behavior for most policies. Set totrue to have flow execution continue even after a policy fails. See also: |
enabled | true | Optional | Set totrue to enforce the policy. Set tofalse toturn off the policy. The policy will not be enforced even if it remains attached to a flow. |
async | false | Deprecated | This attribute is deprecated. |
Child element reference
This section describes the child elements of<AssertCondition>.<Condition>
Specifies the condition to evaluate. For more information about writing a conditional statement in Apigee, seeConditions reference.
| Default Value | N/A |
| Required? | Required |
| Type | String |
| Parent Element | <AssertCondition> |
| Child Elements | None |
<DisplayName>
Use in addition to thename attribute to label the policy in the management UI proxy editor with a different, more natural-sounding name.
The<DisplayName> element is common to all policies.
| Default Value | N/A |
| Required? | Optional. If you omit<DisplayName>, the value of the policy'sname attribute is used. |
| Type | String |
| Parent Element | <PolicyElement> |
| Child Elements | None |
The<DisplayName> element uses the following syntax:
Syntax
<PolicyElement><DisplayName>POLICY_DISPLAY_NAME</DisplayName> ...</PolicyElement>
Example
<PolicyElement><DisplayName>My Validation Policy</DisplayName></PolicyElement>
The<DisplayName> element has no attributes or child elements.
Error codes
This section describes the fault codes and error messages that are returned and fault variables that are set by Apigee when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, seeWhat you need to know about policy errors andHandling faults.
Runtime errors
These errors can occur when the policy executes.
| Fault code | HTTP status | Cause |
|---|---|---|
steps.assertcondition.ConditionEvaluationFailed | 500 | Failed to evaluate the conditional statement. There can be many reasons for this error, including incorrect values in the variables at run time. |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
| Error name | Cause |
|---|---|
InvalidCondition | The policy was not able to validate the conditional statement. There can be many reasons for this error, including malformed conditions or use of unsupported operators. |
Fault variables
Whenever there are execution errors in a policy, Apigee generates error messages. You can view these error messages in the error response. Many a time, system generated error messages might not be relevant in the context of your product. You might want to customize the error messages based on the type of error to make the messages more meaningful.
To customize the error messages, you can use either fault rules or the RaiseFault policy. For information about differences between fault rules and the RaiseFault policy, seeFaultRules vs. the RaiseFault policy. You must check for conditions using theCondition element in both the fault rules and the RaiseFault policy. Apigee provides fault variables unique to each policy and the values of the fault variables are set when a policy triggers runtime errors. By using these variables, you can check for specific error conditions and take appropriate actions. For more information about checking error conditions, seeBuilding conditions.
The following table describes the fault variables specific to this policy.
| Variables | Where | Example |
|---|---|---|
fault.name="FAULT_NAME" | FAULT_NAME is the name of the fault, as listed in theRuntime errors table. The fault name is the last part of the fault code. | fault.name Matches "ConditionEvaluationFailed" |
AssertCondition.POLICY_NAME.failed | POLICY_NAME is the user-specified name of the policy that threw the fault. | AssertCondition.My-AssertCondition.failed = true |
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-12-17 UTC.