General Information
Policy Type
Endpoints
List Policies
Add Policy
Update Policy
Delete Policy
List Policies
Endpoint
Request
Headers
| Header | Value |
|---|---|
| Authorization | Bearer {token} |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| projectName | string | Yes | Project name |
| apiProxyName | string | Yes | API Proxy name |
Response
Success Response (200 OK)
cURL Example
Add Policy
Endpoint
Request
Headers
| Header | Value |
|---|---|
| Authorization | Bearer {token} |
| Content-Type | application/json |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| projectName | string | Yes | Project name |
| apiProxyName | string | Yes | API Proxy name |
| policyName | string | Yes | Policy name |
Request Body
Full JSON Body Example - Add Header
Full JSON Body Example - Modify Value with Mask
Full JSON Body Example - Stop Flow
Request Body Fields
operationMetadata
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| targetScope | string | Yes | - | Policy scope: ALL or ENDPOINT |
| targetEndpoint | string | No* | - | Endpoint path (required if targetScope=ENDPOINT) |
| targetEndpointHTTPMethod | string | No* | - | HTTP method (required if targetScope=ENDPOINT) |
| targetPipeline | string | Yes | - | Pipeline: REQUEST, RESPONSE, or ERROR |
| deploy | boolean | No | true | Whether to deploy after adding policy |
| deployTargetEnvironmentNameList | array | No | [] | List of environment names to deploy to |
| order | integer | No | null | Policy execution order (starts from 1) |
ALL- Policy applies to all endpointsENDPOINT- Policy applies only to specified endpoint
REQUEST- Executes in request pipelineRESPONSE- Executes in response pipelineERROR- Executes in error pipeline
GET,POST,PUT,DELETE,PATCH,OPTIONS,HEAD
policy
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| type | string | Yes | - | Policy type: policy-business-rule |
| description | string | No | - | Policy description |
| active | boolean | No | true | Whether policy is active |
| actionList | array | Yes | - | List of actions to execute (at least one required) |
actionList must contain at least one action.
actionList
Each action is an object with the following fields:| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| actionType | string | Yes | - | Action type: ADD, MODIFY, DELETE, or STOP |
| sourceVar | object | No* | - | Source variable (required for ADD, MODIFY, DELETE) |
| sourceVarBodyInjectionFieldName | string | No | - | Body injection field name |
| sourceDataType | string | No* | - | Source data type (required for MODIFY) |
| sourceTemporalFormat | string | No | - | Temporal format (if sourceDataType=TEMPORAL) |
| operator | string | No* | - | Modification operator (required for MODIFY) |
| substringFrom | integer | No | - | Substring start index (for SUBSTRING operator) |
| substringTo | integer | No | - | Substring end index (for SUBSTRING operator) |
| maskFrom | integer | No | - | Mask start index (for MASK operator) |
| maskTo | integer | No | - | Mask end index (for MASK operator) |
| replaceSource | string | No | - | Replace source pattern (for REPLACE_IN/REPLACE_WITH) |
| insertOffset | integer | No | - | Insert offset (for INSERT operator) |
| temporalOperatorTimeUnit | string | No | - | Temporal time unit (for TEMPORAL operations) |
| replaceFirst | string | No | - | Replace first pattern (for REPLACE_FIRST) |
| targetValSource | string | No* | - | Target value source (required for ADD, MODIFY) |
| targetVal | string | No* | - | Target value (required if targetValSource=VALUE) |
| targetVar | object | No* | - | Target variable (required for ADD, MODIFY) |
| transformationContentType | string | No | - | Transformation content type |
| formatAllowsInvalid | boolean | No | false | Format allows invalid characters |
| formatValueContainsLiteralCharacters | boolean | No | false | Format value contains literal characters |
| formatInvalidCharacters | string | No | - | Format invalid characters |
| formatPlaceholder | string | No | - | Format placeholder |
| jsonToXmlIgnoreNull | boolean | No | false | JSON to XML ignore null |
| jsonToXmlIgnoreEmpty | boolean | No | false | JSON to XML ignore empty |
| jsonToXmlUseNullForNil | boolean | No | false | JSON to XML use null for nil |
| jsonToXmlUnwrapElement | boolean | No | false | JSON to XML unwrap element |
| xmlToJsonUnwrapElement | boolean | No | false | XML to JSON unwrap element |
| xmlToJsonIgnoreNull | boolean | No | false | XML to JSON ignore null |
| xmlToJsonIgnoreEmpty | boolean | No | false | XML to JSON ignore empty |
| xmlToJsonNumbersAsStrings | boolean | No | false | XML to JSON numbers as strings |
| xmlToJsonUseNullForNil | boolean | No | false | XML to JSON use null for nil |
| xmlToJsonArrayPathList | array | No | [] | XML to JSON array path list |
| claimJsonPath | string | No | - | JWT claim JSON path |
EnumActionType
ADD- Add new value to target variableMODIFY- Modify existing value in source variableDELETE- Delete value from source variableSTOP- Stop request/response flow
EnumActionSourceDataType
STRING- String data typeNUMERIC- Numeric data typeTEMPORAL- Date/time data type
EnumActionSourceValueModificationOperator
- Numeric operations:
ADD,SUBTRACT,MULTIPLY,DIVIDE,MODULUS,POWER - String operations:
CONCAT,REPLACE_IN,REPLACE_WITH,REPLACE_FIRST,SUBSTRING,MASK,FORMAT,TRANSFORM,INSERT,TRIM,ENCODE,DECODE,URL_ENCODE,URL_DECODE,EXTRACT_JWT_HEADER_CLAIM,EXTRACT_JWT_BODY_CLAIM - Temporal operations:
ADD_TEMPORAL,SUBTRACT_TEMPORAL
EnumValueSource
VALUE- Use static valueVARIABLE- Extract from variable
EnumTransformationContentType
XSLT- XSLT transformationJOLT- JOLT transformationXML2JSON- XML to JSON conversionJSON2XML- JSON to XML conversion
EnumTimeUnit
MILLISECOND,SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,YEAR
Action Requirements
- ADD: Requires
sourceVar,targetValSource,targetVar. IftargetValSource=VALUE, requirestargetVal. - MODIFY: Requires
sourceVar,sourceDataType,operator,targetValSource. IftargetValSource=VALUE, requirestargetVal. Operator-specific fields required based on operator. - DELETE: Requires
sourceVaronly. - STOP: No additional fields required.
Operator-Specific Fields
- SUBSTRING: Requires
substringFrom(and optionallysubstringTo) - MASK: Requires
maskFrom(and optionallymaskTo) - INSERT: Requires
insertOffset - TRANSFORM: Requires
transformationContentType - TEMPORAL: Requires
temporalOperatorTimeUnitandsourceTemporalFormat
Response
Success Response (200 OK)
cURL Example
Update Policy
Endpoint
Request
Headers
| Header | Value |
|---|---|
| Authorization | Bearer {token} |
| Content-Type | application/json |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| projectName | string | Yes | Project name |
| apiProxyName | string | Yes | API Proxy name |
| policyName | string | Yes | Policy name |
Request Body
Full JSON Body Example
Response
Success Response (200 OK)
Delete Policy
Endpoint
Request
Headers
| Header | Value |
|---|---|
| Authorization | Bearer {token} |
| Content-Type | application/json |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| projectName | string | Yes | Project name |
| apiProxyName | string | Yes | API Proxy name |
| policyName | string | Yes | Policy name |
Request Body
Full JSON Body Example
Request Body Fields
operationMetadata
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| targetScope | string | Yes | - | Policy scope: ALL or ENDPOINT |
| targetPipeline | string | Yes | - | Pipeline: REQUEST, RESPONSE, or ERROR |
| deploy | boolean | No | false | Whether to deploy after deletion |
Response
Success Response (200 OK)
Notes and Warnings
-
Action Types:
ADD- Adds new value to target variableMODIFY- Modifies existing value with operatorDELETE- Removes value from source variableSTOP- Stops request/response flow immediately
-
Operators:
- Numeric: ADD, SUBTRACT, MULTIPLY, DIVIDE, MODULUS, POWER
- String: CONCAT, REPLACE_IN, REPLACE_WITH, REPLACE_FIRST, SUBSTRING, MASK, FORMAT, TRANSFORM, INSERT, TRIM, ENCODE, DECODE, URL_ENCODE, URL_DECODE, EXTRACT_JWT_HEADER_CLAIM, EXTRACT_JWT_BODY_CLAIM
- Temporal: ADD_TEMPORAL, SUBTRACT_TEMPORAL
-
Action Requirements:
- ADD: Requires sourceVar, targetValSource, targetVar
- MODIFY: Requires sourceVar, sourceDataType, operator, targetValSource
- DELETE: Requires sourceVar only
- STOP: No additional fields required
- Operator-Specific Fields: Required fields vary by operator (e.g., MASK requires maskFrom/maskTo)
- Execution Order: Actions are executed in the order they appear in actionList
- STOP Action: When STOP action executes, subsequent actions and policies are not executed
- Performance: Business rules add processing overhead. Use efficiently.
-
Pipeline:
REQUESTpipeline executes actions on request before forwardingRESPONSEpipeline executes actions on response before sending to client
- Error Handling: Invalid action configuration may cause policy execution to fail
-
Deployment: Policy changes require deployment to take effect. Set
deploy: trueor deploy manually.
Related Documentation
- List Policies - List all policies
- Add Policy - General policy addition guide
- Update Policy - General policy update guide
- Delete Policy - General policy deletion guide
- Redaction Policy - Remove or modify sensitive data

