Content Length Guardrail¶
The Content Length Guardrail is a custom Synapse mediator for WSO2 API Manager Universal Gateway, designed to perform content-byte-length validation on incoming or outgoing JSON payloads. This component acts as a guardrail to enforce specific content moderation rules based on configurable minimum and maximum byte sizes and JSON Path expressions.
Features¶
- Validate payload content by checking byte length
- Define minimum and maximum byte thresholds
- Target specific fields in JSON payloads using JSON Path
- Optionally invert validation logic (e.g., allow only content outside the specified byte range)
- Trigger fault sequences on rule violations
- Include optional assessment messages in error responses for better observability
How to Use¶
Follow these steps to integrate the Content Length Guardrail policy into your WSO2 API Manager instance:
-
Download the latest Content Length Guardrail policy
Tip
The downloaded archive contains the following
File Name Description org.wso2.am.policies.mediation.ai.content-length-guardrail-<version>The compiled mediator JAR file policy-definition.jsonPolicy metadata definition artifact.j2Synapse template file -
Copy the mediator JAR file into the API Manager's dropins directory
<APIM_HOME>/repository/components/dropins -
Register the policy in the Publisher portal using the provided
policy-definition.jsonandartifact.j2files via the Publisher REST APIs.- To register the policy common to all AI APIs, follow Add a new common operation policy
- To register the policy specific to a given API, follow Add an API specific operation policy
-
Apply and Deploy the Policy
- Open the API Publisher Portal
(https://<host>:<port>/publisher) - Select your API
- Go to Develop > API Configurations > Policies > Request/Response Flow
- Click Add Policy, select the new Content Length Guardrail policy
- Provide the required configuration (name, min, max, etc.)
- Save and Deploy the API
- Open the API Publisher Portal
Example Policy Configuration¶
Click to expand configuration steps
- Create an AI API using Mistral AI.
- Add the Content Length Guardrail policy to the API with the following configuration:
| Field | Example |
|---|---|
Guardrail Name |
Content Limiter |
Minimum Content Length |
20 |
Maximum Content Length |
1500 |
JSON Path |
$.messages[-1].content |
Invert the Guardrail Decision |
false |
Show Guardrail Assessment |
false |
- Save and re-deploy the API.
- Invoke the API's
chat/completionendpoint with a prompt that violates the byte count, such as a short string under the minimum threshold:
The following guardrail error response will be returned with http status code 446: