Lakera Guard API

Screen prompts and model responses for threats

OpenAPI Specification

lakera-guard-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Lakera Guard API
  description: Lakera Guard is an AI security API that screens text content sent to and received from large language models. It detects prompt injection, jailbreaks, PII, unsafe content, and policy violations, returning flagged decisions and detailed detector results. Authentication uses a bearer token issued in the Lakera dashboard. Self-hosted deployments expose additional policy management and Kubernetes probe endpoints.
  version: '2'
  contact:
    name: Lakera
    url: https://docs.lakera.ai/docs/api
servers:
- url: https://api.lakera.ai/v2
  description: Lakera Guard global production endpoint
- url: https://us.api.lakera.ai/v2
  description: United States regional endpoint
- url: https://eu-west-1.api.lakera.ai/v2
  description: European regional endpoint
security:
- bearerAuth: []
tags:
- name: Guard
  description: Screen prompts and model responses for threats
paths:
  /guard:
    post:
      tags:
      - Guard
      operationId: guardScreen
      summary: Screen text content for threats
      description: Submit messages to be screened. Lakera Guard returns a flagged decision when prompt injection, jailbreak, PII, unsafe content, or other policy violations are detected.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GuardRequest'
      responses:
        '200':
          description: Screening result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuardResponse'
        '401':
          description: Missing or invalid bearer token
        '422':
          description: Validation error
  /guard/results:
    post:
      tags:
      - Guard
      operationId: guardResults
      summary: Retrieve detailed detector results
      description: Returns the per-detector breakdown that informed a Guard decision, useful for debugging policies and tuning thresholds.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GuardRequest'
      responses:
        '200':
          description: Detector results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GuardResultsResponse'
        '401':
          description: Missing or invalid bearer token
components:
  schemas:
    GuardRequest:
      type: object
      required:
      - messages
      properties:
        messages:
          type: array
          description: Conversation messages to screen
          items:
            $ref: '#/components/schemas/GuardMessage'
        project_id:
          type: string
          description: Optional project identifier used to scope policies
        policy_id:
          type: string
          description: Optional policy identifier to apply
        breakdown:
          type: boolean
          description: When true return per-detector results
        metadata:
          type: object
          additionalProperties: true
          description: Optional caller-supplied metadata
    GuardMessage:
      type: object
      required:
      - role
      - content
      properties:
        role:
          type: string
          description: Role of the message author (for example system, user, assistant)
          enum:
          - system
          - user
          - assistant
          - tool
        content:
          type: string
          description: Message text to screen
    GuardResponse:
      type: object
      properties:
        flagged:
          type: boolean
          description: Whether the input was flagged as a threat
        payload:
          type: object
          additionalProperties: true
          description: Policy decision payload
        dev_info:
          type: object
          additionalProperties: true
          description: Diagnostic information (when enabled)
    GuardResultsResponse:
      type: object
      properties:
        results:
          type: array
          description: Per-detector results
          items:
            type: object
            properties:
              detector_type:
                type: string
              detected:
                type: boolean
              detector_id:
                type: string
              message_id:
                type: string
              start:
                type: integer
              end:
                type: integer
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Bearer token issued in the Lakera dashboard. Header format: `Authorization: Bearer ${LAKERA_GUARD_API_KEY}`. Self-hosted deployments may run without authentication.'