apex
POST /api/v1/police
Changed onProcesses the scan and police request.
Request
- Base URLhttps://apex.acuvity.ai:443
- URLhttps://apex.acuvity.ai:443/api/v1/police
- Auth
- HTTP bearer
- or API key in cookie x-a3s-token
Request body
Example request
{
"conversationID": "6f37d752-bce1-4973-88f6-28b6c100ceb8",
"destination": {
"app": "other-ai-app",
"component": "backend",
"host": "api.openai.com",
"ip": "192.0.2.42",
"port": 443
},
"encryptionEgress": {
"ALPNNegotiatedProtocol": "h2",
"TLSVersion": "TLS12",
"cipherSuite": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"implementation": "OpenSSL"
},
"encryptionEgressState": "Encrypted",
"encryptionIngress": {
"ALPNNegotiatedProtocol": "h2",
"TLSVersion": "TLS12",
"cipherSuite": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"implementation": "OpenSSL"
},
"encryptionIngressState": "Encrypted",
"extractions": [
{
"toolResults": [
{
"callID": "toolu_019X5QaEeVTDFrQPHqMMgd1n",
"name": "fetch",
"serverName": "my-mcp-server"
}
],
"toolUses": [
{
"callID": "toolu_019X5QaEeVTDFrQPHqMMgd1n",
"name": "get_weather",
"serverName": "deepwiki"
}
]
}
],
"messages": [
"Summarize the main points of this article in bullet points.",
"Generate a list of creative product names for a futuristic tech gadget."
],
"model": "claude-3-7-sonnet",
"provider": "openai-api",
"source": {
"ip": "192.0.2.42",
"userClaims": [
"name=John Doe",
"email=john.doe@acme.com",
"@validated=false"
],
"username": "john.doe@acme.com"
},
"tools": {
"tool1": {
"description": "This is a tool.",
"name": "tool1"
}
},
"trace": {
"parentSpanID": "00f067aa0ba902b7",
"traceID": "4bf92f3577b34da6a3ce929d0e0e4736"
}
}Response
The request was processed and the response carries the enforcement decision. A platform failure inside the pipeline is also reported here rather than as an HTTP error: the response then carries the decision the application's failClose strategy dictates, Deny when failing closed and Allow when failing open, together with the structured error and the decision that was intended.
Example response
{
"alerts": [
{
"alertDefinition": "warning-notification",
"principal": {
"IP": "192.0.2.42",
"app": {
"component": "frontend",
"labels": [
"country=us",
"another-label"
],
"name": "MyApp",
"userClaims": [
"name=John Doe",
"email=john.doe@acme.com",
"@validated=false"
],
"username": "john.doe@acme.com",
"workloadGroupHash": "wg-0ff92a76a3765740e26d84947d92e5fc",
"workloadGroupLabel": "k8s:deployment=mcp-chatbot-agent,namespace=demo",
"workloadGroupSetHash": "wgs-0ff92a76a3765740e26d84947d92e5fc",
"workloadGroupSetLabel": "k8s:namespace=demo"
},
"external": {
"userClaims": [
"name=John Doe",
"email=john.doe@acme.com",
"@validated=false"
],
"username": "john.doe@acme.com",
"workloadGroupHash": "wg-0ff92a76a3765740e26d84947d92e5fc",
"workloadGroupLabel": "k8s:deployment=mcp-chatbot-agent,namespace=demo",
"workloadGroupSetHash": "wgs-0ff92a76a3765740e26d84947d92e5fc",
"workloadGroupSetLabel": "k8s:namespace=demo"
},
"tokenID": "1234-1224-123-1",
"tokenName": "my-user-token",
"user": {
"name": "user@company.com"
}
}
}
],
"client": "curl",
"clientVersion": "7.64.1",
"destination": {
"app": "MyApp",
"component": "frontend",
"host": "api.openai.com",
"ip": "192.0.2.42",
"labels": [
"country=us",
"another-label"
],
"path": "/design",
"workloadGroupHash": "wg-0ff92a76a3765740e26d84947d92e5fc",
"workloadGroupLabel": "k8s:deployment=mcp-chatbot-agent,namespace=demo",
"workloadGroupSetHash": "wgs-0ff92a76a3765740e26d84947d92e5fc",
"workloadGroupSetLabel": "k8s:namespace=demo"
},
"encryptionEgress": {
"ALPNNegotiatedProtocol": "h2",
"TLSVersion": "TLS12",
"cipherSuite": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"implementation": "OpenSSL"
},
"encryptionEgressState": "Encrypted",
"encryptionIngress": {
"ALPNNegotiatedProtocol": "h2",
"TLSVersion": "TLS12",
"cipherSuite": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"implementation": "OpenSSL"
},
"encryptionIngressState": "Encrypted",
"extractions": [
{
"PIIs": {
"ssn": 0.8
},
"categories": [
{
"group": "image",
"type": "png"
}
],
"confidentiality": 0.9,
"customDataTypes": {
"my_cdt": 1
},
"dataSets": {
"cds": {
"ct1": 1,
"ct2": 2
}
},
"dlp": {
"credit_card": 0.8
},
"exploits": {
"prompt_injection": 0.8
},
"genericdetections": [
{
"category": "Personal Information"
}
],
"intent": {
"write": 0.8
},
"keywords": {
"my_keywork": 0.8
},
"languages": {
"english": 0.8
},
"malcontents": {
"toxic": 0.8
},
"metadata": {
"sensitivity_label": [
"Confidential"
]
},
"modalities": [
{
"group": "image",
"type": "png"
}
],
"relevance": 0.9,
"secrets": {
"credentials": 0.7
},
"toolResults": [
{
"callID": "toolu_019X5QaEeVTDFrQPHqMMgd1n",
"name": "fetch",
"serverName": "my-mcp-server"
}
],
"toolUses": [
{
"callID": "toolu_019X5QaEeVTDFrQPHqMMgd1n",
"name": "get_weather",
"serverName": "deepwiki"
}
],
"topics": {
"category/enterprise": 0.7,
"department/logistics": 0.8,
"depict/document": 0.8,
"extracted/typed_text_content": 1,
"timeframe/current_year": 0.6
}
}
],
"mcpMessage": {
"direction": "Client2Server",
"gatewayName": "maxibridge",
"method": "tools/call",
"paramsName": "search",
"requestID": "2",
"sessionID": "1f02aa20-22d8-6e87-8432-be15d4f7b5b2",
"type": "Request"
},
"model": "claude-3-7-sonnet",
"policyRefs": [
{
"appPolicyID": "xxx-xxx-xxx-xxx",
"appPolicyName": "email-agent",
"appPolicyType": "ingress",
"matchingTeams": [
"team-a",
"team-b"
],
"policyID": "xxx-xxx-xxx-xxx",
"policyIdentity": "default",
"policyName": "frontend",
"policyNamespace": "frontend"
}
],
"principal": {
"IP": "192.0.2.42",
"app": {
"component": "frontend",
"labels": [
"country=us",
"another-label"
],
"name": "MyApp",
"userClaims": [
"name=John Doe",
"email=john.doe@acme.com",
"@validated=false"
],
"username": "john.doe@acme.com",
"workloadGroupHash": "wg-0ff92a76a3765740e26d84947d92e5fc",
"workloadGroupLabel": "k8s:deployment=mcp-chatbot-agent,namespace=demo",
"workloadGroupSetHash": "wgs-0ff92a76a3765740e26d84947d92e5fc",
"workloadGroupSetLabel": "k8s:namespace=demo"
},
"external": {
"userClaims": [
"name=John Doe",
"email=john.doe@acme.com",
"@validated=false"
],
"username": "john.doe@acme.com",
"workloadGroupHash": "wg-0ff92a76a3765740e26d84947d92e5fc",
"workloadGroupLabel": "k8s:deployment=mcp-chatbot-agent,namespace=demo",
"workloadGroupSetHash": "wgs-0ff92a76a3765740e26d84947d92e5fc",
"workloadGroupSetLabel": "k8s:namespace=demo"
},
"tokenID": "1234-1224-123-1",
"tokenName": "my-user-token",
"user": {
"name": "user@company.com"
}
},
"provider": "openai-api",
"providerType": "LLM",
"tools": {
"tool1": {
"description": "This is a tool.",
"name": "tool1"
}
},
"trace": {
"kind": "Server",
"parentSpanID": "00f067aa0ba902b7",
"spanEnd": "2025-03-22T14:35:00.123456789Z",
"spanID": "6ba80aaa3b2f43d8",
"spanName": "acuvity_prompt_input_analysis",
"spanStart": "2025-03-22T14:35:00.123456789Z",
"statusCode": "OK",
"statusMessage": "Failed to make API call to service Foo.",
"traceID": "4bf92f3577b34da6a3ce929d0e0e4736",
"transparentSpanID": "6ba80aaa3b2f43d8"
}
}Changes
- warning
added the new
AIDomainenum value to theresponse property for the response status - info
added the optional property
/to the response with the status
- warning
- info
added the optional property
//to the response with the status
- info