Endpoint
Authentication
Requires a Personal API Access Token.Header
Request
Headers
Path Parameters
Request Body
Full JSON Body Example
Request Body Fields
Policy Operation Metadata
EnumPolicyTargetScope
ALL- Policy applies to all endpointsENDPOINT- Policy applies only to specified endpoint
EnumPolicyTargetPipeline
REQUEST- Executes in request pipelineRESPONSE- Executes in response pipelineERROR- Executes in error pipeline
EnumHttpRequestMethod
GET- GET methodPOST- POST methodPUT- PUT methodDELETE- DELETE methodPATCH- PATCH methodOPTIONS- OPTIONS methodHEAD- HEAD methodTRACE- TRACE methodALL- All methods
targetScope is ENDPOINT, both targetEndpoint and targetEndpointHTTPMethod are required.
policy
The policy object structure varies by policy type. All policies share common base fields:Common Policy Fields
Note: The
name field is not included in the request body. The policy name is taken from the path parameter {policyName}.
Policy Types
Each policy type has its own specific fields. See individual policy documentation pages for details:- API Based Throttling
- Blocked IP List
- Allowed IP List
- Authentication Basic
- … (see Policies Index for complete list)
Policy Condition (PolicyConditionDTO)
Note: If
conditionRuleList is empty or not provided, a default AND condition is created.
conditionRuleList Item (ConditionRuleDTO)
EnumConditionCriteria
VALUE- Value comparisonNOT- NegationAND- Logical ANDOR- Logical OR
EnumConditionVariableDataType
STRING- String typeNUMERIC- Numeric typeDATE- Date type
EnumConditionValueComparisonOperator
LT- Less thanLE- Less than or equal toGT- Greater thanGE- Greater than or equal toEQ- Equal toNE- Not equal toEQ_IGNORE_CASE- Equal to, case insensitive (string only)NE_IGNORE_CASE- Not equal to, case insensitive (string only)STARTS_WITH- Starts with (string only)NOT_STARTS_WITH- Does not start with (string only)STARTS_WITH_IGNORE_CASE- Starts with, case insensitive (string only)NOT_STARTS_WITH_IGNORE_CASE- Does not start with, case insensitive (string only)ENDS_WITH- Ends with (string only)NOT_ENDS_WITH- Does not end with (string only)ENDS_WITH_IGNORE_CASE- Ends with, case insensitive (string only)NOT_ENDS_WITH_IGNORE_CASE- Does not end with, case insensitive (string only)CONTAINS- Contains (string only)NOT_CONTAINS- Does not contain (string only)CONTAINS_IGNORE_CASE- Contains, case insensitive (string only)NOT_CONTAINS_IGNORE_CASE- Does not contain, case insensitive (string only)IS_EXISTS- Variable exists (regardless of value)IS_NOT_EXISTS- Variable does not existIS_NOT_EMPTY- Variable exists and is not emptyIS_EMPTY- Variable does not exist or is emptyEXISTS_AND_EMPTY- Variable exists but is emptyIN- Value is in listNOT_IN- Value is not in listIN_IGNORE_CASE- Value is in list, case insensitive (string only)NOT_IN_IGNORE_CASE- Value is not in list, case insensitive (string only)
EnumConditionValueSource
VALUE- Compare with a constant valueVARIABLE- Compare with another variable
firstVariable / secondVariable (VariableDTO)
EnumVariableType
HEADER- HTTP headerPARAMETER- Query/path/form parameterBODY- Request/response bodyCONTEXT_VALUES- Context values (e.g., current time, IP address)CUSTOM- Custom variable (script-based)
EnumVariableParameterType
QUERY- Query parameterPATH- Path parameterFORM- Form parameter
EnumMessageContentType
JSON- JSON contentXML- XML contentFORM- Form content
EnumVariableContextValue
CURRENT_TIME- Current timestampCURRENT_DATE- Current dateCLIENT_IP- Client IP addressCLIENT_PORT- Client portSERVER_IP- Server IP addressSERVER_PORT- Server portREQUEST_METHOD- HTTP request methodREQUEST_URI- Request URIREQUEST_PATH- Request pathREQUEST_QUERY_STRING- Query stringREQUEST_PROTOCOL- Request protocolREQUEST_HOST- Request hostREQUEST_SCHEME- Request schemeRESPONSE_STATUS_CODE- Response status codeRESPONSE_STATUS_TEXT- Response status textAPI_PROXY_NAME- API Proxy nameAPI_PROXY_ID- API Proxy IDENDPOINT_NAME- Endpoint nameENDPOINT_ID- Endpoint IDENVIRONMENT_NAME- Environment nameENVIRONMENT_ID- Environment IDPROJECT_NAME- Project namePROJECT_ID- Project IDUSER_NAME- User nameUSER_ID- User IDORGANIZATION_NAME- Organization nameORGANIZATION_ID- Organization IDZONE_ID- Zone IDTIMEZONE_ID- Timezone ID
EnumScriptType
GROOVY- Groovy scriptJAVASCRIPT- JavaScript script
Response
Success Response (200 OK)
deploy: true is set in the request, the response includes deployment result:
Response Fields
Deployment Result Object (deploymentResult)
Deployment Detail Object (detailList item)
EnumStatus
SUCCESS- Operation successfulFAILURE- Operation failed
Error Response (400 Bad Request)
Common Causes
- Policy name already exists
- Invalid targetScope (ENDPOINT without targetEndpoint)
- Invalid targetEndpoint (endpoint not found in API Proxy)
- Invalid policy type
- Missing required policy fields
- Invalid condition configuration
Error Response (401 Unauthorized)
Error Response (404 Not Found)
cURL Example
Example 1: Add Policy to All Endpoints
Example 2: Add Policy to Specific Endpoint
Example 3: Add Policy with Condition
Permissions
- User must have
API_MANAGEMENT+MANAGEpermission in the project - If
deploy: trueis set in the request, user must also haveAPI_MANAGEMENT+DEPLOY_UNDEPLOYpermission
Notes and Warnings
- Policy Name: Policy name is taken from the path parameter, not from the request body. The
namefield in PolicyDTO is ignored (marked with @JsonIgnore). - Unique Names: Policy names must be unique within the API Proxy
- Order: Order starts from 1. If order is null or >= current policy list size, policy is added at the end
- Deployment: If
deploy: true, ensure environments exist and user has deployment permissions - Conditions: If
policyConditionis not provided, a default AND condition is created - Error Messages: If
errorMessageListis not provided, standard error messages are used - Endpoint Scope: When using
targetScope: ENDPOINT, ensure the endpoint exists in the API Proxy - Variable References: Variables can be referenced by
id(if existing) or defined inline
Related Documentation
- List Policies - List all policies
- Update Policy - Update an existing policy
- Delete Policy - Delete a policy
- Policy API Based Throttling - Example policy documentation

