Documentation

    Object Types

    Visitor

    A Visitor represents a person connected through the Co-Browsing API SDK who is available to co-browse with.

    Attributes

    Attribute nameTypeDescription
    added_atDatetime (ISO 8601)The first time the Visitor was seen.
    api_keystringYour public API key.
    browser_namestring | nullThe name of the browser used by the Visitor (e.g. Mobile Safari). Always null for non-web SDKs.
    call_namestring | nullThe call identification (used for the Agent's personal link).
    device_namestring | nullThe name or brand of the device (e.g. iPhone). Always null for non-web SDKs.
    device_typestring | nullThe category of device the Visitor is connecting from. It will be one of desktop, console, mobile, tablet, smarttv, wearable, embedded. Always null for non-web SDKs.
    emailstring | nullThe Visitor's email.
    identitiesstring[]A list of strings used to identify the Visitor.
    integrationstring | nullThe auto integration we have performed on this Visitor. This will be set to the live chat system you have installed on the page last visited by the Visitor.
    ip_addressstringThe IP address the Visitor last connected from.
    is_in_sessionbooleanA boolean describing whether the Visitor is currently screen sharing with someone.
    is_onlinebooleanA boolean describing whether the Visitor is currently connected to Co-Browsing API (and available for screensharing).
    is_supportedbooleanA boolean describing whether the Visitor's browser supports Co-Browsing API.
    is_waiting_for_callbooleanA boolean describing if the Visitor is waiting for a call from the agent.
    js_configurationbooleanA boolean describing whether the Visitor has configured Co-Browsing API through the Javascript API in a way that could conflict with the account's general settings. This is also set to true if configured through mobile SDKs public APIs.
    last_seen_atDatetime (ISO 8601)A timestamp of the last time the Visitor was seen on the website.
    last_urlstring | null (Only for web SDK)The last URL the Visitor has visited.
    location_citystring | nullThe city the Visitor is in (according to their IP address). If the city is not known, this will be null.
    location_country_namestring | nullThe country (name) the Visitor is in (according to their IP address). If the country is not known, this will be null.
    location_countrystring | nullThe country (code) the Visitor is in (according to their IP address). If the country is not known, this will be null.
    lookup_codestring | nullThe code your agent can search for to quickly find the Visitor in the interface. If not set, it will be null.
    namestring | nullIt will return the first item from identities that looks like a name.
    nicknamestringIt will return the Visitor's name, the first part of the Visitor's email, or the Visitor's ID.
    short_idstringThe Co-Browsing API ID of the Visitor.
    tagsstring[]The value provided in the tags.
    unique_idstring | nullThe unique ID used to identify the Visitor. If this was not set, it will be null.
    watch_linkstringA public URL used to start a session with the Visitor.
    sdkstringEither web, ios or android.

    Session

    A Session is a co-browsing interaction between one or more Agents and a Visitor.

    Call vs Session
    Throughout the docs, you'll see the concept of Calls and Sessions. Sessions can happen with or without Calls, which are the audio component of a Session.

    Attributes

    Attribute nameTypeDescription
    agentsAgent[]The collection of agents that joined the Session.
    agent_notesArray<{text: string, by: string}>The notes taken by the agents. by will be the id of the agent.
    call_length_secondsintegerThe duration of the audio call in seconds.
    call_namestring | nullThe username of the Agent that initiated the Session through their personal link.
    ended_atDatetime (ISO 8601)The datetime of when the Session ended.
    features_usedstring[]The collection of features used (e.g ["remote_typing"]).
    formatted_call_lengthstringThe duration of the audio call formatted (e.g "00:11").
    formatted_lengthstringThe duration of the Session formatted (e.g "01:10").
    metadataRecordMetadata from the Session creation, plus the metadata from the Visitor object with the keys prefixed with visitor_.
    quality_feedbackArray<{rating: number, feedback: string | null, by: string}>The feedback by the Visitor and the Agents on the quality of the Session. by will be the id of the agent.
    visitor_agent_feedbackstring | nullThe rating feedback by the Visitor for the Agent. This is only present if there is a single Agent.
    visitor_agent_ratingnumber | nullThe rating left by the Visitor for the Agent. This is only present if there is a single Agent.
    visitor_emailstring | nullThe email for the Visitor.
    visitor_ip_addressstring | nullThe IP address for the Visitor (always present unless the Visitor data has been deleted).
    visitor_unique_idstring | nullThe unique ID for the Visitor.
    idstringThe ID of the Session.
    length_secondsintegerThe duration of the Session in seconds.
    on_premisebooleanA boolean describing whether the Session happened on an on-premise version of Co-Browsing API.
    public_video_urlstring | nullA public URL for the recording of the Session, if one is available, which requires the viewer to be authenticated into Co-Browsing API.
    secret_video_urlstring | nullA secret URL pointing directly to the video recording of the Session, if one is available.
    session_authorizedbooleanA boolean describing whether the Session was authorized by the Visitor.
    sourcestring | nullA number describing the source of the Session. One of: api, search, lookup code, personal link, agent request, integration.
    start_urlstring | null (will be null for mobile SDKs)The URL the Visitor was at when the session started.
    started_atDatetime (ISO 8601)The datetime of when the Session started.
    video_statusstring | null (will be null if video recording is not enabled)The status of the Session's video recording. One of pending, recording, not_available, ready, expired, removed.
    visitor_idstringThe ID of the Visitor.
    went_livebooleanA boolean describing whether the Session actually started.

    Connection

    A Connection represents a single active visitor connection — for example, an open browser tab or a mobile app instance. A visitor can have more than one connection at a time. Connection objects are camelCase and are only available in the embedded session state.

    Attributes

    Attribute nameTypeDescription
    uniqueConnectionIdstringUnique ID for this connection. Used with the setActiveConnection instruction to switch to it.
    currentUrlstring | nullThe URL currently open in this connection.
    activeSincestring (ISO 8601)When this connection became active.
    status"active" | "disconnected"Whether this connection is currently active.
    expectedDisconnect{ returnTimeSeconds: number | null; message: string | null; title: string | null; ts: number } | nullIf set, the visitor is expected to disconnect temporarily (e.g. navigating to another page). returnTimeSeconds is how long until they return, or null if unknown.
    hasFocusbooleanWhether this connection's tab or window currently has focus.
    lastFocusAtDate | nullWhen this connection last had focus.
    screenWidthnumberScreen width in pixels.
    screenHeightnumberScreen height in pixels.
    audioSupportedbooleanWhether this connection supports audio.
    fullTabStatus"off" | "authorizing" | "active"The current full-tab sharing state for this connection.
    requireAuthorizationForSessionbooleanWhether the visitor must authorize before the session can start.
    requireControlRequestbooleanWhether the agent must request control before interacting.
    allowRemoteConsolebooleanWhether the agent can run console commands.
    allowAgentRedirectbooleanWhether the agent can redirect the visitor's browser.
    allowRemoteClickbooleanWhether the agent can click on the visitor's screen.
    allowRemoteScrollbooleanWhether the agent can scroll on the visitor's screen.
    allowRemoteTypebooleanWhether the agent can type on the visitor's screen.
    allowFullScreenbooleanWhether full-screen sharing is allowed.
    allowRequestFullTabbooleanWhether full-tab sharing is allowed.
    cobrowsingVideoEnabled"two_way" | "visitor_to_agent" | "agent_to_visitor" | "disabled"The video sharing configuration for this connection.
    cobrowsingVideoAudioRelationship"independent" | "video_requires_audio" | "automatic"How audio and video relate to each other. video_requires_audio — video can only be enabled when audio is active; automatic — audio starts automatically with video.
    enableSessionRatingbooleanWhether the visitor is prompted to rate the session.
    agentPromptstring | nullA custom message shown to the agent at the start of the session.
    assetsProxyConfiguredbooleanWhether an assets proxy is configured for this connection.

    Agent

    An Agent is someone who started or joined the Session as an observer.

    Attributes

    Attribute nameTypeDescription
    agent_nicknamestringThe Agent's nickname.
    emailstring | nullThe Agent's email (always null for Co-Browsing API agents, always present otherwise).
    external_idstring | nullIf generated through the REST API, the ID provided by you (always null for HelloScreen or UserView users, always present otherwise).
    idstringThe Agent's id within Co-Browsing API (u_${string} for HelloScreen or UserView users or ea_${string} for Co-Browsing API agents).
    namestringThe Agent's name.
    on_premisebooleanA boolean describing whether the agent is on premise.