CHNLSYNC · Schema

CustomerChatResponse

Public advisor response shape for the customer portal.

CompanyTechnology BrokerageTelecommunicationsConnectivityUCaaSCCaaSCloudCopper RetirementArtificial Intelligence

Properties

Name Type Description
assistant_message string
user_message_id object
assistant_message_id object Persisted id of the assistant reply, used by the portal for message feedback. None for refusal/over-cap turns that persist no assistant row.
follow_up_questions array Buyer-visible suggested follow-up questions. The service sets this explicitly on every new response; the default preserves compatibility with older cached/client payloads.
conversation_id string
environment_deltas array
case_draft object
citations array
review_status object
buyer_visible_lanes array
advisor_mode string Advisor runtime mode. The service sets this explicitly on every new response; the default preserves compatibility with older cached/client payloads.
memory_updated boolean Whether this turn wrote tenant memory. The service sets this explicitly on every new response; the default preserves compatibility with older cached/client payloads.
review_prep_requested boolean True when this turn flipped the active case into CHNLSYNC review because the buyer agreed to the advisor's review offer. Signals the router to enqueue review prep (source='advisor_chat') for the case
review_booking object Booking CTA attached to the escalation turn (only when ``review_prep_requested`` is True and customer_escalation_booking_enabled is on) so the portal can offer the review-call scheduler at the handoff
internal_supplier_notes_hidden boolean
View JSON Schema on GitHub

JSON Schema

chnlsync-com-customer-chat-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/chnlsync-com/json-schema/chnlsync-com-customer-chat-response-schema.json",
  "title": "CustomerChatResponse",
  "description": "Public advisor response shape for the customer portal.",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/chnlsync-com-openapi.yml#/components/schemas/CustomerChatResponse",
  "properties": {
    "assistant_message": {
      "type": "string",
      "title": "Assistant Message"
    },
    "user_message_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ],
      "title": "User Message Id"
    },
    "assistant_message_id": {
      "anyOf": [
        {
          "type": "string",
          "format": "uuid"
        },
        {
          "type": "null"
        }
      ],
      "title": "Assistant Message Id",
      "description": "Persisted id of the assistant reply, used by the portal for message feedback. None for refusal/over-cap turns that persist no assistant row."
    },
    "follow_up_questions": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "maxItems": 4,
      "title": "Follow Up Questions",
      "description": "Buyer-visible suggested follow-up questions. The service sets this explicitly on every new response; the default preserves compatibility with older cached/client payloads."
    },
    "conversation_id": {
      "type": "string",
      "format": "uuid",
      "title": "Conversation Id"
    },
    "environment_deltas": {
      "items": {
        "$ref": "#/$defs/EnvironmentFactRead"
      },
      "type": "array",
      "title": "Environment Deltas"
    },
    "case_draft": {
      "anyOf": [
        {
          "$ref": "#/$defs/CaseDraft"
        },
        {
          "type": "null"
        }
      ]
    },
    "citations": {
      "items": {
        "$ref": "#/$defs/Citation"
      },
      "type": "array",
      "title": "Citations"
    },
    "review_status": {
      "anyOf": [
        {
          "$ref": "#/$defs/CustomerCaseStatus"
        },
        {
          "type": "null"
        }
      ]
    },
    "buyer_visible_lanes": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Buyer Visible Lanes"
    },
    "advisor_mode": {
      "type": "string",
      "enum": [
        "llm",
        "deterministic_fallback",
        "unavailable"
      ],
      "title": "Advisor Mode",
      "description": "Advisor runtime mode. The service sets this explicitly on every new response; the default preserves compatibility with older cached/client payloads.",
      "default": "deterministic_fallback"
    },
    "memory_updated": {
      "type": "boolean",
      "title": "Memory Updated",
      "description": "Whether this turn wrote tenant memory. The service sets this explicitly on every new response; the default preserves compatibility with older cached/client payloads.",
      "default": false
    },
    "review_prep_requested": {
      "type": "boolean",
      "title": "Review Prep Requested",
      "description": "True when this turn flipped the active case into CHNLSYNC review because the buyer agreed to the advisor's review offer. Signals the router to enqueue review prep (source='advisor_chat') for the case carried in ``case_draft.case_id``.",
      "default": false
    },
    "review_booking": {
      "anyOf": [
        {
          "$ref": "#/$defs/CaseBookingRead"
        },
        {
          "type": "null"
        }
      ],
      "description": "Booking CTA attached to the escalation turn (only when ``review_prep_requested`` is True and customer_escalation_booking_enabled is on) so the portal can offer the review-call scheduler at the handoff moment. The URL is operator-configured (settings.cal_com_booking_url) — never model output."
    },
    "internal_supplier_notes_hidden": {
      "type": "boolean",
      "const": true,
      "title": "Internal Supplier Notes Hidden",
      "default": true
    }
  },
  "type": "object",
  "required": [
    "assistant_message",
    "conversation_id",
    "environment_deltas",
    "case_draft",
    "citations",
    "review_status",
    "buyer_visible_lanes"
  ],
  "$defs": {
    "CaseBookingRead": {
      "properties": {
        "booking_url": {
          "type": "string",
          "title": "Booking Url"
        },
        "clicked_at": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ],
          "title": "Clicked At"
        }
      },
      "type": "object",
      "required": [
        "booking_url"
      ],
      "title": "CaseBookingRead",
      "description": "Buyer-visible booking call-to-action for an approved case (D2.5)."
    },
    "CaseDraft": {
      "properties": {
        "case_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid"
            },
            {
              "type": "null"
            }
          ],
          "title": "Case Id"
        },
        "title": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Title"
        },
        "summary": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Summary"
        },
        "readiness_score": {
          "type": "integer",
          "title": "Readiness Score"
        }
      },
      "type": "object",
      "required": [
        "readiness_score"
      ],
      "title": "CaseDraft",
      "description": "Case draft details emitted by an advisor turn."
    },
    "Citation": {
      "properties": {
        "source_type": {
          "type": "string",
          "title": "Source Type"
        },
        "source_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid"
            },
            {
              "type": "null"
            }
          ],
          "title": "Source Id"
        },
        "label": {
          "type": "string",
          "title": "Label"
        },
        "evidence_grade": {
          "anyOf": [
            {
              "type": "string",
              "enum": [
                "your_data",
                "vetted_catalog",
                "industry_knowledge"
              ]
            },
            {
              "type": "null"
            }
          ],
          "title": "Evidence Grade"
        },
        "confidence": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "title": "Confidence"
        },
        "as_of": {
          "anyOf": [
            {
              "type": "string",
              "format": "date-time"
            },
            {
              "type": "null"
            }
          ],
          "title": "As Of"
        }
      },
      "type": "object",
      "required": [
        "source_type",
        "label"
      ],
      "title": "Citation",
      "description": "Source citation used by a customer advisor answer.\n\nEvidence-grading fields (roadmap 1.3) are optional so citations persisted\non messages before the upgrade still parse from stored JSON."
    },
    "CustomerCaseStatus": {
      "type": "string",
      "enum": [
        "draft",
        "chnlsync_reviewing",
        "needs_info",
        "supplier_path_drafted",
        "ready_for_call",
        "closed"
      ],
      "title": "CustomerCaseStatus",
      "description": "Human-gated customer advisory case lifecycle."
    },
    "EnvironmentFactCategory": {
      "type": "string",
      "enum": [
        "company",
        "connectivity",
        "ucaas",
        "ccaas",
        "cpaas",
        "security",
        "cloud",
        "colo",
        "cx_ai",
        "pro_services",
        "sase",
        "vendor",
        "contract",
        "pain_point",
        "timeline",
        "budget",
        "other"
      ],
      "title": "EnvironmentFactCategory",
      "description": "Normalized buckets for customer IT environment memory."
    },
    "EnvironmentFactRead": {
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "title": "Id"
        },
        "category": {
          "$ref": "#/$defs/EnvironmentFactCategory"
        },
        "label": {
          "type": "string",
          "title": "Label"
        },
        "value": {
          "type": "string",
          "title": "Value"
        },
        "source_type": {
          "type": "string",
          "title": "Source Type"
        },
        "source_id": {
          "anyOf": [
            {
              "type": "string",
              "format": "uuid"
            },
            {
              "type": "null"
            }
          ],
          "title": "Source Id"
        },
        "source_label": {
          "type": "string",
          "title": "Source Label"
        },
        "confidence": {
          "type": "number",
          "title": "Confidence"
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "title": "Created At"
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "title": "Updated At"
        }
      },
      "type": "object",
      "required": [
        "id",
        "category",
        "label",
        "value",
        "source_type",
        "source_label",
        "confidence",
        "created_at",
        "updated_at"
      ],
      "title": "EnvironmentFactRead",
      "description": "Buyer-visible environment fact with provenance."
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/chnlsync-com-customer-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.