Keystone Developers
Open Keystone
API reference

Public API

Chat

3 endpoints.

GET/api/v1/public/chat/config

Webchat config for the calling site (gates the widget)

Parameters

NameInTypeDescription
X-API-Keyheaderstring | null

Responses

200Successful Response
application/jsonSuccessResponse_dict_str__Any__
FieldTypeDescription
request_idrequiredstring
successtruedefault true
datarequiredobject
metadataResponseMetadata | null
ResponseMetadata fields
FieldTypeDescription
paginationPaginationMetadata | null
PaginationMetadata fields
FieldTypeDescription
limitrequiredinteger
next_cursorstring | null
prev_cursorstring | null
has_morerequiredboolean
has_prevbooleandefault false
total_countinteger | null
status_countsobject | null
object | null fields

Map of string to integer

lifecycle_countsLifecycleCounts | null
LifecycleCounts fields
FieldTypeDescription
leadintegerdefault 0
prospectintegerdefault 0
customerintegerdefault 0
former_customerintegerdefault 0
classification_countsClassificationCounts | null
ClassificationCounts fields
FieldTypeDescription
signalobject
object fields

Nested object (not expanded)

touchobject
object fields

Nested object (not expanded)

stageobject
object fields

Nested object (not expanded)

metaResponseMeta | null
ResponseMeta fields
FieldTypeDescription
totalinteger | null
total_countinteger | null
pageinteger | null
per_pageinteger | null
  • 400Bad request
  • 401Unauthorized
  • 403Forbidden
  • 404Not found
  • 422Validation error
  • 500Internal server error
  • 503Service unavailable

Error bodies: ErrorResponse. See Errors.

GET/api/v1/public/chat/messages

Fetch webchat history (long-poll for new messages)

Return messages with ``id > since`` (whole thread when ``since`` omitted). Holds up to ``wait`` seconds (capped) until new messages arrive — the AI reply lands async, so the held request returns as soon as it's persisted.

Parameters

NameInTypeDescription
session_idrequiredquerystring
sincequerystring | null
waitqueryintegerdefault 0
X-API-Keyheaderstring | null

Responses

200Successful Response
application/jsonSuccessResponse_dict_str__Any__
FieldTypeDescription
request_idrequiredstring
successtruedefault true
datarequiredobject
metadataResponseMetadata | null
ResponseMetadata fields

ResponseMetadata, expanded above.

metaResponseMeta | null
ResponseMeta fields

ResponseMeta, expanded above.

  • 400Bad request
  • 401Unauthorized
  • 403Forbidden
  • 404Not found
  • 422Validation error
  • 500Internal server error
  • 503Service unavailable

Error bodies: ErrorResponse. See Errors.

POST/api/v1/public/chat/messages

Send a webchat message (anonymous visitor)

Parameters

NameInTypeDescription
X-API-Keyheaderstring | null

Request bodyrequired

application/jsonChatMessageBody
FieldTypeDescription
session_idrequiredstring
bodyrequiredstring
display_namestring | null
emailstring | null
phonestring | null
first_namestring | null
last_namestring | null
fbpstring | null
fbcstring | null
page_urlstring | null

Responses

200Successful Response
application/jsonSuccessResponse_dict_str__Any__
FieldTypeDescription
request_idrequiredstring
successtruedefault true
datarequiredobject
metadataResponseMetadata | null
ResponseMetadata fields

ResponseMetadata, expanded above.

metaResponseMeta | null
ResponseMeta fields

ResponseMeta, expanded above.

  • 400Bad request
  • 401Unauthorized
  • 403Forbidden
  • 404Not found
  • 422Validation error
  • 500Internal server error
  • 503Service unavailable

Error bodies: ErrorResponse. See Errors.