---
title: "Screen text for prompt injection"
method: POST
path: "/v1/ai/guardrails/prompt-injection"
tags: ["guardrails:prompt-injection"]
---

# Screen text for prompt injection

`POST /v1/ai/guardrails/prompt-injection`

## Request

- Base URL: `https://api.intura.co` (the document declares no server; this is the origin it was published from)
- URL: `https://api.intura.co/v1/ai/guardrails/prompt-injection`
- Auth: none declared

## Request body

- ModulesV1AiGuardrailsPromptInjectionSchemasDetectRequest: Text to screen for prompt injection.
  - `text` string, required: The message, document or retrieved content to screen. Bounded by the module's MAX_CHARS.
  - `thresholds` object, nullable: Move the cuts for this one call: `block` (default 0.7) and `review` (default 0.4). Either on its own is fine — the other keeps Intura's default. The console's playground is where to find the value that suits your traffic; this field is where to put it.

## Response `200`

Successful Response

- ModulesV1AiGuardrailsPromptInjectionSchemasDetectResponse
  - `status` string: Always `success` on a 2xx
  - `code` integer: Mirrors the HTTP status code
  - `data` ModulesV1AiGuardrailsPromptInjectionSchemasDetectResponseData, required: `data` for POST /v1/ai/guardrails/prompt-injection.
    - `label` string, required: `injection` — block it. `suspicious` — degrade privileges. `benign` — nothing found.
    - `score` number, required: The number this endpoint measured and decided on, 0..1, rounded to 4 dp — P(injection), P(scam), how strongly the frame reads as the card. Compare it against `thresholds` and you have `label`. This is the only number to threshold on; what it means on a given route is documented there.
    - `thresholds` object: The cuts this answer was decided by, after your saved settings and anything sent in `thresholds` on the request. Published on every response so a verdict can be compared with an older one: a score means nothing without the bar it was held to. Empty on an endpoint with nothing to tune.
    - `result` ModulesV1AiGuardrailsPromptInjectionSchemasDetectResultData: `result` for a detection call: what to do about the score.
      - `injection` boolean, required: True when the score crossed your block cut. The single boolean a caller needs if they do not want to reason about bands.
      - `action` string, required: `block` (score >= `thresholds.block`), `review` (>= `thresholds.review`), or `allow`. `review` means degrade rather than refuse — strip tool access, drop privileges, log it.
      - `languages` string[], required: The languages this input was screened in. Every supported language when none could be identified.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/intura/apis/intura-ai-api.md) - [All operations](https://skmtc.dev/intura/apis/intura-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/intura/apis/intura-ai-api/revisions/7cb6af4c6390?raw)
