{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/communicate-so/json-schema/communicate-so-read-agent-response-schema.json",
  "title": "readAgentResponse",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/communicate-so-openapi.json#/components/schemas/readAgentResponse",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "workspaceId": {
      "type": "string",
      "minLength": 1
    },
    "name": {
      "type": "string"
    },
    "systemPrompt": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "status": {
      "type": "string",
      "enum": [
        "active",
        "inactive",
        "draft"
      ]
    },
    "inTransfer": {
      "type": "boolean"
    },
    "model": {
      "type": "string"
    },
    "temperature": {
      "type": "number"
    },
    "rateLimitPerMinute": {
      "type": "integer",
      "minimum": -9007199254740991,
      "maximum": 9007199254740991
    },
    "allowedDomains": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "widgetConfig": {
      "type": "object",
      "properties": {
        "accentColor": {
          "type": "string",
          "pattern": "^#[0-9a-fA-F]{6}$"
        },
        "displayName": {
          "type": "string",
          "maxLength": 60
        },
        "greeting": {
          "type": "string",
          "maxLength": 500
        },
        "suggestedPrompts": {
          "maxItems": 6,
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          }
        },
        "promptGroups": {
          "maxItems": 4,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              },
              "prompts": {
                "minItems": 1,
                "maxItems": 6,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 120
                }
              }
            },
            "required": [
              "title",
              "prompts"
            ],
            "additionalProperties": false
          }
        },
        "labels": {
          "type": "object",
          "properties": {
            "locale": {
              "type": "string",
              "enum": [
                "en",
                "es",
                "fr",
                "de",
                "pt"
              ]
            },
            "composerPlaceholder": {
              "type": "string",
              "maxLength": 120
            },
            "sendButton": {
              "type": "string",
              "maxLength": 40
            },
            "openButton": {
              "type": "string",
              "maxLength": 80
            },
            "poweredBy": {
              "type": "string",
              "maxLength": 80
            }
          },
          "additionalProperties": false
        },
        "messagePlaceholder": {
          "type": "string",
          "maxLength": 120
        },
        "privacyPolicyUrl": {
          "format": "uri",
          "description": "A URL with HTTP or HTTPS protocol.",
          "type": "string",
          "maxLength": 500
        },
        "dictationEnabled": {
          "type": "boolean"
        },
        "showPoweredBy": {
          "type": "boolean"
        },
        "showTicketCard": {
          "type": "boolean"
        },
        "allowEndChat": {
          "type": "boolean"
        },
        "assistantBubbleStyle": {
          "type": "string",
          "enum": [
            "soft",
            "white-accent"
          ]
        },
        "bubblePosition": {
          "type": "string",
          "enum": [
            "right",
            "left"
          ]
        },
        "panelHeight": {
          "type": "integer",
          "minimum": 400,
          "maximum": 1000
        },
        "panelWidth": {
          "type": "string",
          "enum": [
            "default",
            "wide",
            "extra-wide"
          ]
        },
        "socialLinks": {
          "maxItems": 8,
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string",
                "minLength": 1,
                "maxLength": 40
              },
              "url": {
                "format": "uri",
                "description": "A URL with HTTP or HTTPS protocol.",
                "type": "string",
                "maxLength": 500
              }
            },
            "required": [
              "label",
              "url"
            ],
            "additionalProperties": false
          }
        },
        "showSupportEmail": {
          "type": "boolean"
        },
        "chatPageTheme": {
          "type": "string",
          "enum": [
            "light",
            "dark",
            "both"
          ]
        },
        "widgetEnabled": {
          "type": "boolean"
        },
        "preChatForm": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "fields": {
              "maxItems": 8,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "pattern": "^[a-z0-9_-]{1,40}$"
                  },
                  "label": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 80
                  },
                  "type": {
                    "type": "string",
                    "enum": [
                      "email",
                      "name",
                      "text",
                      "select"
                    ]
                  },
                  "required": {
                    "type": "boolean"
                  },
                  "options": {
                    "minItems": 1,
                    "maxItems": 12,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 80
                    }
                  },
                  "showWhen": {
                    "type": "object",
                    "properties": {
                      "fieldId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 40
                      },
                      "equals": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 80
                      }
                    },
                    "required": [
                      "fieldId",
                      "equals"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "id",
                  "label",
                  "type",
                  "required"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "enabled",
            "fields"
          ],
          "additionalProperties": false
        },
        "offlineForm": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            }
          },
          "required": [
            "enabled"
          ],
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "notifyConfig": {
      "type": "object",
      "properties": {
        "email": {
          "type": "string",
          "maxLength": 254,
          "format": "email",
          "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
        },
        "onNewConversation": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "voiceConfig": {
      "allOf": [
        {
          "if": {
            "properties": {
              "enabled": {
                "const": true
              }
            },
            "required": [
              "enabled"
            ]
          },
          "then": {
            "required": [
              "voiceId"
            ]
          }
        }
      ],
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "voiceId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "language": {
          "type": "string",
          "maxLength": 12,
          "pattern": "^[a-z]{2,3}(?:-[A-Z]{2})?$"
        },
        "consentCopy": {
          "type": "string",
          "minLength": 1,
          "maxLength": 1000
        },
        "maxDurationSeconds": {
          "type": "integer",
          "minimum": 30,
          "maximum": 3600
        }
      },
      "required": [
        "enabled",
        "language",
        "consentCopy",
        "maxDurationSeconds"
      ],
      "additionalProperties": false
    },
    "learningConfig": {
      "type": "object",
      "properties": {
        "captureEnabled": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "escalationTeamId": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "null"
        }
      ]
    },
    "supportEmail": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "website": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "logoUrl": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "chatPageEnabled": {
      "type": "boolean"
    },
    "chatPageBlockedAt": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        {
          "type": "null"
        }
      ]
    },
    "indexable": {
      "type": "boolean"
    },
    "emailFromName": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "deletionScheduledAt": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time",
          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
        },
        {
          "type": "null"
        }
      ]
    },
    "deletionRequestedBy": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "null"
        }
      ]
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
    }
  },
  "required": [
    "id",
    "workspaceId",
    "name",
    "systemPrompt",
    "status",
    "inTransfer",
    "model",
    "temperature",
    "rateLimitPerMinute",
    "allowedDomains",
    "widgetConfig",
    "notifyConfig",
    "voiceConfig",
    "learningConfig",
    "escalationTeamId",
    "supportEmail",
    "website",
    "logoUrl",
    "chatPageEnabled",
    "chatPageBlockedAt",
    "indexable",
    "emailFromName",
    "deletionScheduledAt",
    "deletionRequestedBy",
    "createdAt",
    "updatedAt"
  ],
  "additionalProperties": false
}