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 |
JSON Schema
{
"$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.
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.