| { |
| "openapi": "3.1.0", |
| "info": { |
| "title": "LLM Guard API", |
| "description": "API to run LLM Guard scanners.", |
| "version": "0.0.6" |
| }, |
| "paths": { |
| "/": { |
| "get": { |
| "tags": [ |
| "Main" |
| ], |
| "summary": "Read Root", |
| "operationId": "read_root__get", |
| "responses": { |
| "200": { |
| "description": "Successful Response", |
| "content": { |
| "application/json": { |
| "schema": {} |
| } |
| } |
| } |
| } |
| } |
| }, |
| "/healthz": { |
| "get": { |
| "tags": [ |
| "Health" |
| ], |
| "summary": "Healthcheck", |
| "operationId": "healthcheck_healthz_get", |
| "responses": { |
| "200": { |
| "description": "Successful Response", |
| "content": { |
| "application/json": { |
| "schema": {} |
| } |
| } |
| } |
| } |
| } |
| }, |
| "/readyz": { |
| "get": { |
| "tags": [ |
| "Health" |
| ], |
| "summary": "Liveliness", |
| "operationId": "liveliness_readyz_get", |
| "responses": { |
| "200": { |
| "description": "Successful Response", |
| "content": { |
| "application/json": { |
| "schema": {} |
| } |
| } |
| } |
| } |
| } |
| }, |
| "/analyze/output": { |
| "post": { |
| "tags": [ |
| "Analyze" |
| ], |
| "summary": "Analyze Output", |
| "description": "Analyze an output and return the sanitized output and the results of the scanners", |
| "operationId": "analyze_output_analyze_output_post", |
| "requestBody": { |
| "content": { |
| "application/json": { |
| "schema": { |
| "$ref": "#/components/schemas/AnalyzeOutputRequest" |
| } |
| } |
| }, |
| "required": true |
| }, |
| "responses": { |
| "200": { |
| "description": "Successful Response", |
| "content": { |
| "application/json": { |
| "schema": { |
| "$ref": "#/components/schemas/AnalyzeOutputResponse" |
| } |
| } |
| } |
| }, |
| "422": { |
| "description": "Validation Error", |
| "content": { |
| "application/json": { |
| "schema": { |
| "$ref": "#/components/schemas/HTTPValidationError" |
| } |
| } |
| } |
| } |
| }, |
| "security": [ |
| { |
| "HTTPBearer": [] |
| } |
| ] |
| } |
| }, |
| "/analyze/prompt": { |
| "post": { |
| "tags": [ |
| "Analyze" |
| ], |
| "summary": "Analyze Prompt", |
| "description": "Analyze a prompt and return the sanitized prompt and the results of the scanners", |
| "operationId": "analyze_prompt_analyze_prompt_post", |
| "requestBody": { |
| "content": { |
| "application/json": { |
| "schema": { |
| "$ref": "#/components/schemas/AnalyzePromptRequest" |
| } |
| } |
| }, |
| "required": true |
| }, |
| "responses": { |
| "200": { |
| "description": "Successful Response", |
| "content": { |
| "application/json": { |
| "schema": { |
| "$ref": "#/components/schemas/AnalyzePromptResponse" |
| } |
| } |
| } |
| }, |
| "422": { |
| "description": "Validation Error", |
| "content": { |
| "application/json": { |
| "schema": { |
| "$ref": "#/components/schemas/HTTPValidationError" |
| } |
| } |
| } |
| } |
| }, |
| "security": [ |
| { |
| "HTTPBearer": [] |
| } |
| ] |
| } |
| }, |
| "/metrics": { |
| "get": { |
| "tags": [ |
| "Metrics" |
| ], |
| "summary": "Metrics", |
| "operationId": "metrics_metrics_get", |
| "responses": { |
| "200": { |
| "description": "Successful Response", |
| "content": { |
| "application/json": { |
| "schema": {} |
| } |
| } |
| } |
| } |
| } |
| } |
| }, |
| "components": { |
| "schemas": { |
| "AnalyzeOutputRequest": { |
| "properties": { |
| "prompt": { |
| "type": "string", |
| "title": "Prompt" |
| }, |
| "output": { |
| "type": "string", |
| "title": "Output" |
| } |
| }, |
| "type": "object", |
| "required": [ |
| "prompt", |
| "output" |
| ], |
| "title": "AnalyzeOutputRequest" |
| }, |
| "AnalyzeOutputResponse": { |
| "properties": { |
| "sanitized_output": { |
| "type": "string", |
| "title": "Sanitized Output" |
| }, |
| "is_valid": { |
| "type": "boolean", |
| "title": "Is Valid" |
| }, |
| "scanners": { |
| "additionalProperties": { |
| "type": "number" |
| }, |
| "type": "object", |
| "title": "Scanners" |
| } |
| }, |
| "type": "object", |
| "required": [ |
| "sanitized_output", |
| "is_valid", |
| "scanners" |
| ], |
| "title": "AnalyzeOutputResponse" |
| }, |
| "AnalyzePromptRequest": { |
| "properties": { |
| "prompt": { |
| "type": "string", |
| "title": "Prompt" |
| } |
| }, |
| "type": "object", |
| "required": [ |
| "prompt" |
| ], |
| "title": "AnalyzePromptRequest" |
| }, |
| "AnalyzePromptResponse": { |
| "properties": { |
| "sanitized_prompt": { |
| "type": "string", |
| "title": "Sanitized Prompt" |
| }, |
| "is_valid": { |
| "type": "boolean", |
| "title": "Is Valid" |
| }, |
| "scanners": { |
| "additionalProperties": { |
| "type": "number" |
| }, |
| "type": "object", |
| "title": "Scanners" |
| } |
| }, |
| "type": "object", |
| "required": [ |
| "sanitized_prompt", |
| "is_valid", |
| "scanners" |
| ], |
| "title": "AnalyzePromptResponse" |
| }, |
| "HTTPValidationError": { |
| "properties": { |
| "detail": { |
| "items": { |
| "$ref": "#/components/schemas/ValidationError" |
| }, |
| "type": "array", |
| "title": "Detail" |
| } |
| }, |
| "type": "object", |
| "title": "HTTPValidationError" |
| }, |
| "ValidationError": { |
| "properties": { |
| "loc": { |
| "items": { |
| "anyOf": [ |
| { |
| "type": "string" |
| }, |
| { |
| "type": "integer" |
| } |
| ] |
| }, |
| "type": "array", |
| "title": "Location" |
| }, |
| "msg": { |
| "type": "string", |
| "title": "Message" |
| }, |
| "type": { |
| "type": "string", |
| "title": "Error Type" |
| } |
| }, |
| "type": "object", |
| "required": [ |
| "loc", |
| "msg", |
| "type" |
| ], |
| "title": "ValidationError" |
| } |
| }, |
| "securitySchemes": { |
| "HTTPBearer": { |
| "type": "http", |
| "scheme": "bearer" |
| } |
| } |
| } |
| } |
|
|