Ana içeriğe geç

Update AI Prompt-Guard Preset

Endpoint

PUT /apiops/settings/ai-prompt-guard-presets/{presetName}/

Authentication

Requires a Personal API Access Token with admin privileges.

Authorization: Bearer YOUR_TOKEN

Request

Headers

HeaderValueRequired
AuthorizationBearer {token}Yes
Content-Typeapplication/jsonYes

Path Parameters

ParameterTypeRequiredDescription
presetNamestringYesName of the existing prompt-guard preset. Must match the name in the body (case-insensitive); if name is omitted it defaults to this value.

Query Parameters

ParameterTypeRequiredDefaultDescription
projectIdstringNoadminScope project id. Omit for the admin/global scope.

Request Body

Full JSON Body Example

{
"name": "block-internal-hostnames",
"ruleValue": "(?i)(internal|staging)\\.corp\\.local",
"action": "BLOCK",
"category": "system-leak",
"description": "Blocks mentions of internal and staging hostnames",
"enabled": true
}

Request Body Fields

FieldTypeRequiredDefaultDescription
namestringNopath valuePreset name. Must equal presetName (case-insensitive); defaults to the path value when omitted.
ruleValuestringYes-Java regex pattern matched against prompt content
actionstringYes-Action applied on match: BLOCK, FLAG, MASK
categorystringNo-Optional category label (e.g. jailbreak, injection, system-leak)
descriptionstringNo-Optional description for display
enabledbooleanNo-Whether the preset is active

Notes

  • The preset must already exist in the scope; otherwise a not found error is returned
  • The request body must not be empty
  • name in the body must match presetName in the path (case-insensitive)
  • builtIn and id are server-controlled and ignored on write

Response

Success Response (200 OK)

{
"status": "SUCCESS",
"deploymentResult": {
"success": true
}
}

Response Fields

FieldTypeDescription
statusstringResponse status: SUCCESS or FAILURE
deploymentResultobjectDeployment result summary
deploymentResult.successbooleantrue when the preset was updated successfully

Error Response (400 Bad Request)

Returned when the preset is not found, on validation/name-mismatch failure, on a built-in preset, or when the caller lacks the ADMIN role.

{
"status": "FAILURE",
"resultMessage": "AI prompt-guard preset (name: block-internal-hostnames) was not found!"
}

Other possible messages:

{
"status": "FAILURE",
"resultMessage": "AI prompt-guard preset name in path (block-internal-hostnames) does not match name in body (other-name)!"
}
{
"status": "FAILURE",
"resultMessage": "Built-in presets are read-only"
}

Error Response (401 Unauthorized)

{
"status": "FAILURE",
"resultMessage": "Token is not valid!"
}

cURL Example

curl -X PUT \
"https://demo.apinizer.com/apiops/settings/ai-prompt-guard-presets/block-internal-hostnames/" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "block-internal-hostnames",
"ruleValue": "(?i)(internal|staging)\\.corp\\.local",
"action": "BLOCK",
"category": "system-leak",
"description": "Blocks mentions of internal and staging hostnames",
"enabled": true
}'

Notes and Warnings

  • Admin Only:
    • Only sysAdmin users (or users with the ADMIN role) can update AI prompt-guard presets
    • A project-scoped AI_DEVELOPMENT token is not sufficient
  • Must Exist:
    • The preset must already exist in the scope; to create one, use the create (POST) endpoint
  • Built-in Presets Are Read-only:
    • Updating a built-in (seeded) preset is rejected with a Built-in presets are read-only error
  • Full Replacement:
    • Update applies the full field surface from the body onto the existing preset
  • No Secret Fields:
    • Prompt-guard presets carry no secret (@SecretData) fields, so no values are masked