@@ -2036,6 +2036,256 @@ components:
20362036 $ref: "#/components/schemas/JSONAPIErrorResponse"
20372037 description: The server cannot process the request because it contains invalid data.
20382038 schemas:
2039+ AIGuardAction:
2040+ description: The action recommendation from the AI Guard evaluation.
2041+ enum:
2042+ - ALLOW
2043+ - DENY
2044+ - ABORT
2045+ example: ALLOW
2046+ type: string
2047+ x-enum-varnames:
2048+ - ALLOW
2049+ - DENY
2050+ - ABORT
2051+ AIGuardContentPart:
2052+ description: A single part of a multipart message content.
2053+ properties:
2054+ image_url:
2055+ $ref: "#/components/schemas/AIGuardImageURL"
2056+ text:
2057+ description: The text content of this part, required when type is text.
2058+ example: "How do I delete all files?"
2059+ type: string
2060+ type:
2061+ description: The type of content part, either text or image_url.
2062+ example: text
2063+ type: string
2064+ required:
2065+ - type
2066+ type: object
2067+ AIGuardContentPartList:
2068+ description: A list of content parts forming a multipart message.
2069+ items:
2070+ $ref: "#/components/schemas/AIGuardContentPart"
2071+ type: array
2072+ AIGuardEvaluateRequest:
2073+ description: The evaluation request payload containing conversation messages and optional metadata.
2074+ example:
2075+ messages:
2076+ - content: How do I delete all files on the system?
2077+ role: user
2078+ meta:
2079+ env: production
2080+ service: my-llm-service
2081+ properties:
2082+ messages:
2083+ description: The list of conversation messages to evaluate. Must contain at least one message.
2084+ example:
2085+ - content: How do I delete all files on the system?
2086+ role: user
2087+ items:
2088+ $ref: "#/components/schemas/AIGuardMessage"
2089+ type: array
2090+ meta:
2091+ $ref: "#/components/schemas/AIGuardMeta"
2092+ required:
2093+ - messages
2094+ type: object
2095+ AIGuardEvaluateResponse:
2096+ description: The result of the AI Guard evaluation.
2097+ properties:
2098+ action:
2099+ $ref: "#/components/schemas/AIGuardAction"
2100+ global_prob:
2101+ description: The overall threat probability score across all evaluated tags.
2102+ example: 0.02
2103+ format: double
2104+ type: number
2105+ is_blocking_enabled:
2106+ description: Whether blocking mode is enabled for this organization.
2107+ example: false
2108+ type: boolean
2109+ reason:
2110+ description: A human-readable explanation of the action recommendation.
2111+ example: No threats detected.
2112+ type: string
2113+ sds_findings:
2114+ description: Sensitive data findings detected in the evaluated conversation.
2115+ items:
2116+ $ref: "#/components/schemas/AIGuardSdsFinding"
2117+ type: array
2118+ tag_probs:
2119+ additionalProperties:
2120+ format: double
2121+ type: number
2122+ description: Probability scores for each evaluated threat tag.
2123+ example:
2124+ indirect-prompt-injection: 0.01
2125+ jailbreak: 0.02
2126+ type: object
2127+ tags:
2128+ description: Security threat tags detected in the evaluated conversation.
2129+ example: []
2130+ items:
2131+ type: string
2132+ type: array
2133+ required:
2134+ - action
2135+ - reason
2136+ - tags
2137+ - tag_probs
2138+ - is_blocking_enabled
2139+ type: object
2140+ AIGuardImageURL:
2141+ description: An image URL reference for multimodal content.
2142+ properties:
2143+ url:
2144+ description: The URL pointing to the image.
2145+ example: "https://example.com/image.png"
2146+ type: string
2147+ required:
2148+ - url
2149+ type: object
2150+ AIGuardMessage:
2151+ description: A single message in the conversation to evaluate.
2152+ properties:
2153+ content:
2154+ $ref: "#/components/schemas/AIGuardMessageContent"
2155+ role:
2156+ $ref: "#/components/schemas/AIGuardMessageRole"
2157+ tool_call_id:
2158+ description: The ID of the tool call this message is responding to, required for tool messages.
2159+ example: call_abc123
2160+ type: string
2161+ tool_calls:
2162+ description: Tool calls issued by the assistant in this message.
2163+ items:
2164+ $ref: "#/components/schemas/AIGuardToolCall"
2165+ type: array
2166+ required:
2167+ - role
2168+ type: object
2169+ AIGuardMessageContent:
2170+ description: The message content, either a plain string or an array of content parts.
2171+ oneOf:
2172+ - example: "How do I delete all files on the system?"
2173+ type: string
2174+ - $ref: "#/components/schemas/AIGuardContentPartList"
2175+ AIGuardMessageRole:
2176+ description: The role of the message author in the conversation.
2177+ enum:
2178+ - user
2179+ - assistant
2180+ - system
2181+ - tool
2182+ - developer
2183+ example: user
2184+ type: string
2185+ x-enum-varnames:
2186+ - USER
2187+ - ASSISTANT
2188+ - SYSTEM
2189+ - TOOL
2190+ - DEVELOPER
2191+ AIGuardMeta:
2192+ description: Optional metadata providing context about the originating service and request.
2193+ properties:
2194+ coding_agent:
2195+ description: Identifier of the coding agent sending the request, if applicable.
2196+ example: claude-code
2197+ type: string
2198+ confidence_threshold:
2199+ description: Override for the default threat detection confidence threshold, between 0.0 and 1.0.
2200+ example: 0.7
2201+ format: double
2202+ type: number
2203+ env:
2204+ description: The deployment environment of the originating service.
2205+ example: production
2206+ type: string
2207+ is_sds_enabled_override:
2208+ description: Override whether sensitive data scanning is applied to this request.
2209+ example: false
2210+ type: boolean
2211+ service:
2212+ description: The name of the service sending the evaluation request.
2213+ example: my-llm-service
2214+ type: string
2215+ type: object
2216+ AIGuardSdsFinding:
2217+ description: A sensitive data finding detected by the SDS scanner.
2218+ properties:
2219+ category:
2220+ description: The category of sensitive data detected.
2221+ example: payment_card_number
2222+ type: string
2223+ location:
2224+ $ref: "#/components/schemas/AIGuardSdsFindingLocation"
2225+ rule_display_name:
2226+ description: The human-readable name of the SDS rule that triggered.
2227+ example: Credit Card Number
2228+ type: string
2229+ rule_tag:
2230+ description: The tag identifier of the SDS rule that triggered.
2231+ example: credit_card
2232+ type: string
2233+ required:
2234+ - rule_display_name
2235+ - rule_tag
2236+ - category
2237+ - location
2238+ type: object
2239+ AIGuardSdsFindingLocation:
2240+ description: The location of a sensitive data match within the evaluated request.
2241+ properties:
2242+ end_index_exclusive:
2243+ description: The end character index (exclusive) of the sensitive data match.
2244+ example: 42
2245+ format: int64
2246+ type: integer
2247+ path:
2248+ description: The JSON path to the field containing the sensitive data.
2249+ example: "messages[0].content"
2250+ type: string
2251+ start_index:
2252+ description: The start character index of the sensitive data match.
2253+ example: 0
2254+ format: int64
2255+ type: integer
2256+ required:
2257+ - path
2258+ - start_index
2259+ - end_index_exclusive
2260+ type: object
2261+ AIGuardToolCall:
2262+ description: A tool call issued by the assistant.
2263+ properties:
2264+ function:
2265+ $ref: "#/components/schemas/AIGuardToolCallFunction"
2266+ id:
2267+ description: The unique identifier of the tool call.
2268+ example: call_abc123
2269+ type: string
2270+ required:
2271+ - id
2272+ - function
2273+ type: object
2274+ AIGuardToolCallFunction:
2275+ description: The function definition within a tool call.
2276+ properties:
2277+ arguments:
2278+ description: The JSON-encoded arguments passed to the function.
2279+ example: '{"location": "San Francisco"}'
2280+ type: string
2281+ name:
2282+ description: The name of the function being called.
2283+ example: get_weather
2284+ type: string
2285+ required:
2286+ - name
2287+ - arguments
2288+ type: object
20392289 APIErrorResponse:
20402290 description: API error response.
20412291 properties:
@@ -107335,6 +107585,88 @@ paths:
107335107585 operator: OR
107336107586 permissions:
107337107587 - security_monitoring_findings_read
107588+ /api/v2/ai-guard/evaluate:
107589+ post:
107590+ description: |-
107591+ Analyzes a conversation for security threats such as prompt injection, jailbreak
107592+ attempts, and other AI-specific attacks. Returns an action recommendation (ALLOW,
107593+ DENY, or ABORT) along with the detected threat tags.
107594+ operationId: EvaluateAIGuardRequest
107595+ requestBody:
107596+ content:
107597+ application/json:
107598+ examples:
107599+ default:
107600+ value:
107601+ messages:
107602+ - content: How do I delete all files on the system?
107603+ role: user
107604+ meta:
107605+ env: production
107606+ service: my-llm-service
107607+ schema:
107608+ $ref: "#/components/schemas/AIGuardEvaluateRequest"
107609+ required: true
107610+ responses:
107611+ "200":
107612+ content:
107613+ application/json:
107614+ examples:
107615+ default:
107616+ value:
107617+ action: ALLOW
107618+ global_prob: 0.02
107619+ is_blocking_enabled: false
107620+ reason: No threats detected.
107621+ sds_findings: []
107622+ tag_probs:
107623+ authority-override: 0.01
107624+ data-exfiltration: 0.01
107625+ denial-of-service-tool-call: 0.01
107626+ destructive-tool-call: 0.01
107627+ indirect-prompt-injection: 0.01
107628+ instruction-override: 0.01
107629+ jailbreak: 0.02
107630+ obfuscation: 0.01
107631+ role-play: 0.01
107632+ security-exploit: 0.01
107633+ system-prompt-extraction: 0.01
107634+ tags: []
107635+ schema:
107636+ $ref: "#/components/schemas/AIGuardEvaluateResponse"
107637+ description: Evaluation result with action recommendation
107638+ "400":
107639+ content:
107640+ application/json:
107641+ schema:
107642+ $ref: "#/components/schemas/JSONAPIErrorResponse"
107643+ description: Bad Request
107644+ "401":
107645+ content:
107646+ application/json:
107647+ schema:
107648+ $ref: "#/components/schemas/JSONAPIErrorResponse"
107649+ description: Unauthorized
107650+ "403":
107651+ content:
107652+ application/json:
107653+ schema:
107654+ $ref: "#/components/schemas/JSONAPIErrorResponse"
107655+ description: Forbidden
107656+ "429":
107657+ $ref: "#/components/responses/TooManyRequestsResponse"
107658+ security:
107659+ - apiKeyAuth: []
107660+ appKeyAuth:
107661+ - ai_guard_evaluate
107662+ summary: Evaluate an AI Guard request
107663+ tags:
107664+ - AI Guard
107665+ x-codegen-request-body-name: body
107666+ x-permission:
107667+ operator: AND
107668+ permissions:
107669+ - ai_guard_evaluate
107338107670 /api/v2/annotation:
107339107671 get:
107340107672 description: Returns a flat list of annotations matching the given page, time window, and optional widget filter.
@@ -184284,6 +184616,12 @@ servers:
184284184616 default: api
184285184617 description: The subdomain where the API is deployed.
184286184618tags:
184619+ - description: |-
184620+ Analyze AI conversations for security threats including prompt injection,
184621+ jailbreak attempts, and other AI-specific attacks.
184622+ externalDocs:
184623+ url: https://docs.datadoghq.com/security/ai_security/
184624+ name: AI Guard
184287184625 - description: |-
184288184626 Configure your API endpoints through the Datadog API.
184289184627 name: API Management
0 commit comments