Properties
| Name | Type | Description |
|---|---|---|
| configOverrides | object | Config overrider for guardrails. |
| disabled | array | Disable guardrails. |
| externalMetadata | object | A json string for users to attach any data to the prompt for their own use, For example to tag certain prompts for tracking (Limited to 10 items, keys of up to 50 characters and values of up to 255 ch |
| flagOnly | boolean | If true, the final outcome is 'flagged' if any scanner is triggered. Otherwise, the outcome depends on the scanner's mode. |
| forceEnabled | array | Force guardrails to be enabled. |
| input | string | Data to scan. |
| project | object | Project to use configuration for. If not provided, the global default will be used. |
| requestPromptId | object | Optional prompt ID to link this scan request to. If provided and scan_direction is response, the scan request will be linked to the given prompt ID as a response scan. |
| scanDirection | object | The direction of the scan, either 'request' or 'response'. This is used for determining which guardrails to apply based on project configuration. |
| verbose | boolean | If true, return details on each guardrail that ran against the input data |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/calypsoai-com/main/json-schema/calypsoai-com-post-scans-body-schema.json",
"title": "PostScansBody",
"x-generated": "2026-10-20",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/calypsoai-com-openapi.json#/components/schemas/PostScansBody",
"properties": {
"configOverrides": {
"additionalProperties": {
"anyOf": [
{
"oneOf": [
{
"$ref": "#/$defs/RegexScannerConfig"
},
{
"$ref": "#/$defs/KeywordScannerConfig"
},
{
"$ref": "#/$defs/GenAIScannerConfig"
},
{
"$ref": "#/$defs/MLTextScannerConfig"
}
]
},
{
"additionalProperties": true,
"type": "object"
}
]
},
"default": {},
"description": "Config overrider for guardrails.",
"propertyNames": {
"format": "uuid"
},
"title": "Configoverrides",
"type": "object"
},
"disabled": {
"default": [],
"description": "Disable guardrails.",
"items": {
"format": "uuid",
"type": "string"
},
"title": "Disabled",
"type": "array"
},
"externalMetadata": {
"anyOf": [
{
"maxProperties": 10,
"patternProperties": {
"^[a-zA-Z0-9_\\-]*$": {
"maxLength": 255,
"type": "string"
}
},
"propertyNames": {
"maxLength": 50
},
"type": "object"
},
{
"type": "null"
}
],
"description": "A json string for users to attach any data to the prompt for their own use,\nFor example to tag certain prompts for tracking\n(Limited to 10 items, keys of up to 50 characters and values of up to 255 characters).",
"title": "Externalmetadata"
},
"flagOnly": {
"default": true,
"description": "If true, the final outcome is 'flagged' if any scanner is triggered.\nOtherwise, the outcome depends on the scanner's mode.",
"title": "Flagonly",
"type": "boolean"
},
"forceEnabled": {
"default": [],
"description": "Force guardrails to be enabled.",
"items": {
"format": "uuid",
"type": "string"
},
"title": "Forceenabled",
"type": "array"
},
"input": {
"description": "Data to scan.",
"title": "Input",
"type": "string"
},
"project": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Project to use configuration for. If not provided, the global default will be used.",
"title": "Project"
},
"requestPromptId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "Optional prompt ID to link this scan request to. If provided and scan_direction is response,\nthe scan request will be linked to the given prompt ID as a response scan.",
"title": "Requestpromptid"
},
"scanDirection": {
"$ref": "#/$defs/ScanDirection",
"default": "request",
"description": "The direction of the scan, either 'request' or 'response'.\nThis is used for determining which guardrails to apply based on project configuration."
},
"verbose": {
"default": false,
"description": "If true, return details on each guardrail that ran against the input data",
"title": "Verbose",
"type": "boolean"
}
},
"required": [
"input"
],
"type": "object",
"$defs": {
"GenAIScannerConfig": {
"properties": {
"input": {
"default": "",
"title": "Input",
"type": "string"
},
"scanContext": {
"default": "directional",
"description": "Describes the context that is provided to the scanner\nindividual: Scan only the latest message\ndirectional: Scan all messages in the conversation in the same direction as the latest message",
"enum": [
"individual",
"directional"
],
"title": "Scancontext",
"type": "string"
},
"type": {
"default": "custom",
"enum": [
"genai",
"custom"
],
"title": "Type",
"type": "string"
}
},
"title": "GenAIScannerConfig",
"type": "object"
},
"KeywordScannerConfig": {
"properties": {
"type": {
"const": "keyword",
"default": "keyword",
"title": "Type",
"type": "string"
},
"words": {
"description": "Words to check for in the prompt or response. Case insensitive. Empty strings will be removed.",
"items": {
"type": "string"
},
"title": "Words",
"type": "array"
}
},
"required": [
"words"
],
"title": "KeywordScannerConfig",
"type": "object"
},
"MLTextScannerConfig": {
"properties": {
"type": {
"const": "ml_text",
"default": "ml_text",
"title": "Type",
"type": "string"
}
},
"required": [],
"title": "MLTextScannerConfig",
"type": "object"
},
"RegexScannerConfig": {
"properties": {
"pattern": {
"description": "Python Flavored Regular Expression (RegEx) to check for in the prompt or response. Case insensitive.",
"title": "Pattern",
"type": "string"
},
"type": {
"const": "regex",
"default": "regex",
"title": "Type",
"type": "string"
}
},
"required": [
"pattern"
],
"title": "RegexScannerConfig",
"type": "object"
},
"ScanDirection": {
"enum": [
"request",
"response"
],
"title": "ScanDirection",
"type": "string"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/calypsoai-com-post-scans-body"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.