Skip to main content
POST
Send one complete event in text. For multiple independent events, use batch classification. Use your provisioned SILMARIL_API_URL as the full request URL. Inspect prediction and optional governance.action before consuming the event.

Authorizations

x-api-key
string
header
required

API key provisioned for your deployment.

Body

application/json
text
string
required

One complete event to classify. Input-size limits depend on your deployment.

Minimum string length: 1
Example:

"Summarize this release note."

hook
enum<string>

Boundary being checked. Use the SDK hook labels shown here.

Available options:
user_input,
system_prompt,
tool_call,
tool_response,
llm_output,
unknown
Example:

"user_input"

tool_name
string

Tool name when checking a tool call or tool response.

Example:

"read_file"

metadata
object

JSON metadata for this event. SDKs add request identity under silmaril. A conversationId connects ordered single-event calls when conversation history is supported. Batch metadata does not connect events into a sequence.

resource
object

Concrete governance resource, where supported. id must not be blank. mcp_tool requires parent_id; other resource kinds must omit parent_id.

identity_revision
string

Resource-catalog revision for deployments supporting concrete governance identities.

Minimum string length: 1
threshold
number
Legacy

Scoring override for legacy runtimes. Cascade uses its configured decision policy. Use the returned prediction as the verdict.

Required range: 0 <= x <= 1
temperature
number
Legacy

Score calibration for legacy runtimes. Support depends on your deployment.

Required range: 0.01 <= x <= 10

Response

One verdict. A malicious or governance-blocked result still returns HTTP 200.

prediction
enum<string>
required

Authoritative verdict. Also check governance.action when present.

Available options:
BENIGN,
MALICIOUS
score
number
required

Classification score. Use prediction for the verdict instead of recomputing it from score.

Required range: 0 <= x <= 1
threshold
number
required

Threshold reported by the deployment.

Required range: 0 <= x <= 1
primary_outcome
enum<string>

Optional outcome detail. A missing or unknown malicious outcome should be blocked by default in Block mode.

Available options:
benign,
information_disclosure,
secret_exposure,
control_abuse,
system_compromise,
service_disruption
outcome_scores
object

Optional scores keyed by harmful outcome. Available keys depend on the deployment.

detector_scores
object

Optional scores keyed by harmful outcome. Available keys depend on the deployment.

detector_counts
object

Optional detection counts keyed by harmful outcome.

governance
object

Optional governance decision. Older deployments may omit this field.