Properties
| Name | Type | Description |
|---|---|---|
| chat | object | Requested chat object. |
| prompts | array | Prompts contained in the chat. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/calypsoai-com/json-schema/calypsoai-com-get-chat-response-schema.json",
"title": "GetChatResponse",
"x-generated": "2026-11-10",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/calypsoai-com-chats-api-openapi.yml#/components/schemas/GetChatResponse",
"properties": {
"chat": {
"$ref": "#/$defs/Chat",
"description": "Requested chat object."
},
"prompts": {
"description": "Prompts contained in the chat.",
"items": {
"$ref": "#/$defs/Prompt"
},
"title": "Prompts",
"type": "array"
}
},
"required": [
"chat",
"prompts"
],
"type": "object",
"$defs": {
"Chat": {
"properties": {
"access": {
"$ref": "#/$defs/ChatAccess"
},
"createdAt": {
"format": "date-time",
"title": "Createdat",
"type": "string"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"name": {
"maxLength": 100,
"minLength": 1,
"title": "Name",
"type": "string"
},
"projectId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "ID of the project this chat belongs to",
"title": "Projectid"
},
"promptId": {
"description": "ID of the first prompt in the chat, can be used to retrieve all prompts in the chat",
"format": "uuid",
"title": "Promptid",
"type": "string"
},
"promptTemplateId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "ID of the prompt template this chat was created from.",
"title": "Prompttemplateid"
},
"starred": {
"description": "Starred means the chat has been bookmarked or 'starred' to find later",
"title": "Starred",
"type": "boolean"
},
"updatedAt": {
"format": "date-time",
"title": "Updatedat",
"type": "string"
},
"userId": {
"description": "User who created the chat",
"title": "Userid",
"type": "string"
}
},
"required": [
"id",
"name",
"promptId",
"userId",
"starred",
"createdAt",
"updatedAt",
"access"
],
"title": "Chat",
"type": "object"
},
"ChatAccess": {
"properties": {
"org": {
"description": "If True, is accessible to anyone in the same org as the user that created the chat",
"title": "Org",
"type": "boolean"
},
"public": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "If is not None, Chat is publicly accessible to anyone with the access ID",
"title": "Public"
},
"users": {
"description": "list of users ID of users with access to the chat",
"items": {
"type": "string"
},
"title": "Users",
"type": "array"
}
},
"required": [
"org",
"users"
],
"title": "ChatAccess",
"type": "object"
},
"ErrorScanResult": {
"properties": {
"msg": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Msg"
},
"type": {
"const": "error",
"default": "error",
"title": "Type",
"type": "string"
}
},
"title": "ErrorScanResult",
"type": "object"
},
"GenAIScannerResult": {
"properties": {
"tokenUsage": {
"default": 0,
"title": "Tokenusage",
"type": "integer"
},
"type": {
"default": "custom",
"enum": [
"genai",
"custom"
],
"title": "Type",
"type": "string"
}
},
"title": "GenAIScannerResult",
"type": "object"
},
"KeywordScannerResult": {
"properties": {
"matches": {
"additionalProperties": {
"items": {
"maxItems": 2,
"minItems": 2,
"prefixItems": [
{
"type": "integer"
},
{
"type": "integer"
}
],
"type": "array"
},
"type": "array"
},
"title": "Matches",
"type": "object"
},
"type": {
"const": "keyword",
"default": "keyword",
"title": "Type",
"type": "string"
}
},
"required": [
"matches"
],
"title": "KeywordScannerResult",
"type": "object"
},
"LegacyScannerResult": {
"additionalProperties": true,
"properties": {},
"title": "LegacyScannerResult",
"type": "object"
},
"MLTextScannerResult": {
"properties": {
"type": {
"const": "ml_text",
"default": "ml_text",
"title": "Type",
"type": "string"
}
},
"title": "MLTextScannerResult",
"type": "object"
},
"Prompt": {
"properties": {
"externalMetadata": {
"anyOf": [
{
"maxProperties": 10,
"patternProperties": {
"^[a-zA-Z0-9_\\-]*$": {
"maxLength": 255,
"type": "string"
}
},
"propertyNames": {
"maxLength": 50
},
"type": "object"
},
{
"type": "null"
}
],
"title": "Externalmetadata"
},
"extraInputs": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Extrainputs"
},
"fromTemplate": {
"default": false,
"description": "If the prompt is from a template",
"title": "Fromtemplate",
"type": "boolean"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"input": {
"anyOf": [
{
"type": "string"
},
{
"additionalProperties": true,
"type": "object"
},
{
"items": {},
"type": "array"
},
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "boolean"
}
],
"title": "Input"
},
"memory": {
"anyOf": [
{
"items": {
"format": "uuid",
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"description": "IDs of prev prompts in the conversation",
"title": "Memory"
},
"parentId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "ID of the last prompt in the conversation",
"title": "Parentid"
},
"preserve": {
"default": false,
"description": "If the prompt should not be purged on data clean",
"title": "Preserve",
"type": "boolean"
},
"projectId": {
"description": "ID of group prompt was used with",
"format": "uuid",
"title": "Projectid",
"type": "string"
},
"provider": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"description": "ID of LLM provider use for the prompt",
"title": "Provider"
},
"receivedAt": {
"format": "date-time",
"title": "Receivedat",
"type": "string"
},
"result": {
"$ref": "#/$defs/PromptResult"
},
"type": {
"default": "prompt",
"enum": [
"prompt",
"test"
],
"title": "Type",
"type": "string"
},
"userId": {
"title": "Userid",
"type": "string"
}
},
"required": [
"id",
"projectId",
"input",
"receivedAt",
"userId",
"result"
],
"title": "Prompt",
"type": "object"
},
"PromptOutcome": {
"description": "Outcome of a prompt after it has been processed by all guardrails and providers.\n\nCleared: All guardrails passed, and the prompt was sent to providers\nFlagged: At least one guardrail failed, and the prompt was sent to providers\nBlocked: At least one guardrail failed, and the prompt was not sent to providers.",
"enum": [
"cleared",
"flagged",
"redacted",
"blocked"
],
"title": "PromptOutcome",
"type": "string"
},
"PromptResult": {
"properties": {
"files": {
"default": [],
"items": {
"$ref": "#/$defs/PromptResultFile"
},
"title": "Files",
"type": "array"
},
"outcome": {
"$ref": "#/$defs/PromptOutcome",
"description": "One of 'cleared', 'flagged' or 'blocked'"
},
"providerResult": {
"anyOf": [
{
"$ref": "#/$defs/ProviderPromptResult"
},
{
"type": "null"
}
]
},
"response": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The response to the prompt from the LLM",
"title": "Response"
},
"scannerResults": {
"description": "Result for each guardrail that ran on the prompt",
"items": {
"$ref": "#/$defs/Scan"
},
"title": "Scannerresults",
"type": "array"
}
},
"required": [
"scannerResults",
"outcome"
],
"title": "PromptResult",
"type": "object"
},
"PromptResultFile": {
"properties": {
"contentType": {
"title": "Contenttype",
"type": "string"
},
"data": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "File data, optionally base64 encoded if isBase64 is true",
"title": "Data"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"isBase64": {
"title": "Isbase64",
"type": "boolean"
},
"name": {
"title": "Name",
"type": "string"
}
},
"required": [
"id",
"name",
"contentType",
"isBase64"
],
"title": "PromptResultFile",
"type": "object"
},
"ProviderPromptResult": {
"properties": {
"data": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Response contents from LLM",
"title": "Data"
},
"receivedDate": {
"description": "Time response was received from the LLM",
"format": "date-time",
"title": "Receiveddate",
"type": "string"
},
"sentDate": {
"description": "Time prompt was sent to the LLM",
"format": "date-time",
"title": "Sentdate",
"type": "string"
},
"statusCode": {
"description": "Status code returned from request to provider",
"title": "Statuscode",
"type": "integer"
}
},
"required": [
"statusCode",
"sentDate",
"receivedDate"
],
"title": "ProviderPromptResult",
"type": "object"
},
"RegexScannerResult": {
"properties": {
"matches": {
"items": {
"maxItems": 2,
"minItems": 2,
"prefixItems": [
{
"type": "integer"
},
{
"type": "integer"
}
],
"type": "array"
},
"title": "Matches",
"type": "array"
},
"type": {
"const": "regex",
"default": "regex",
"title": "Type",
"type": "string"
}
},
"required": [
"matches"
],
"title": "RegexScannerResult",
"type": "object"
},
"Scan": {
"properties": {
"completedDate": {
"format": "date-time",
"title": "Completeddate",
"type": "string"
},
"customConfig": {
"default": false,
"title": "Customconfig",
"type": "boolean"
},
"data": {
"anyOf": [
{
"oneOf": [
{
"$ref": "#/$defs/RegexScannerResult"
},
{
"$ref": "#/$defs/KeywordScannerResult"
},
{
"$ref": "#/$defs/GenAIScannerResult"
},
{
"$ref": "#/$defs/MLTextScannerResult"
},
{
"$ref": "#/$defs/ErrorScanResult"
}
]
},
{
"$ref": "#/$defs/LegacyScannerResult"
}
],
"title": "Data"
},
"message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Message"
},
"outcome": {
"$ref": "#/$defs/ScanOutcome"
},
"scanDirection": {
"$ref": "#/$defs/ScanDirection"
},
"scannerId": {
"anyOf": [
{
"format": "uuid",
"type": "string"
},
{
"type": "null"
}
],
"title": "Scannerid"
},
"scannerName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Scannername"
},
"scannerVersionMeta": {
"anyOf": [
{
"$ref": "#/$defs/ScannerVersionMeta"
},
{
"type": "null"
}
]
},
"startedDate": {
"format": "date-time",
"title": "Starteddate",
"type": "string"
}
},
"required": [
"outcome",
"data",
"startedDate",
"completedDate",
"scanDirection"
],
"title": "Scan",
"type": "object"
},
"ScanDirection": {
"enum": [
"request",
"response"
],
"title": "ScanDirection",
"type": "string"
},
"ScanOutcome": {
"description": "The outcome of a single scan on a prompt.",
"enum": [
"failed",
"passed"
],
"title": "ScanOutcome",
"type": "string"
},
"ScannerDatasetResult": {
"properties": {
"datasetRunId": {
"format": "uuid",
"title": "Datasetrunid",
"type": "string"
},
"f1Score": {
"title": "F1Score",
"type": "number"
}
},
"required": [
"datasetRunId",
"f1Score"
],
"title": "ScannerDatasetResult",
"type": "object"
},
"ScannerDirection": {
"enum": [
"both",
"request",
"response"
],
"title": "ScannerDirection",
"type": "string"
},
"ScannerVersionMeta": {
"properties": {
"createdAt": {
"format": "date-time",
"title": "Createdat",
"type": "string"
},
"createdBy": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Createdby"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"direction": {
"anyOf": [
{
"$ref": "#/$defs/ScannerDirection"
},
{
"type": "null"
}
]
},
"f1Score": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "F1Score"
},
"id": {
"format": "uuid",
"title": "Id",
"type": "string"
},
"latestDatasetResult": {
"anyOf": [
{
"$ref": "#/$defs/ScannerDatasetResult"
},
{
"type": "null"
}
]
},
"name": {
"maxLength": 100,
"minLength": 1,
"pattern": "^[a-zA-Z0-9-_]+$",
"title": "Name",
"type": "string"
},
"published": {
"title": "Published",
"type": "boolean"
}
},
"required": [
"id",
"createdAt",
"name",
"published"
],
"title": "ScannerVersionMeta",
"type": "object"
}
}
}
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-get-chat-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.