Chime has an API available to determine queue availability and wait times, which may be useful when exposing click-to-chat links out on various portal pages. This guide should outline the API calls available, and their responses.
                All API calls are made as GET requests to
                ChimeServer/API/MethodName
            
| Method | Health/Status/Queue/{id}  | 
| Parameters | N/A | 
| Summary | This should return a 200 if the queue process is running, or a 500 if it is not | 
| Response | Status: 200 OK Status: 500 Internal Server Error 
 | 
$.get('http://Chime.server/Chime/Api/Health/Status/Queue/2',
    function(data){
        if(data){
            //Do something to show the queue process is running
        } else {
            //Do something to show the queue process is not running
        }
    }
);
                | Method | Health/Status/HealthMonitor | 
| Parameters | N/A | 
| Summary | This is the full Chime health-check that shows systyem and Queue Health | 
| Response | 
 | 
$.get('http://Chime.server/Chime/Api/Health/Status/HealthMonitor',
    function(data){
        if(data){
            //Parse through the response and indicate the health of your Chime instance
        } else {
            //Chime might be down, or Health monitor unresponsive
        }
    }
);
                | Method | IsQueueAvailable | 
| Parameters | queueID (int) | 
| Summary | Checks availability of queue, and returns true or false. | 
| Response | 
 | 
$.get('http://Chime.server/Chime/Api/IsQueueAvailable',
    { queueID: 1 },
    function(data){
        if(data){
            //Do something to show queue is available
        } else {
            //Do something to show queue is unavailable
        }
    }
);
                | Method | GetQueueWaitTime | 
| Parameters | queueID (int) | 
| Summary | Checks wait time for queue, returns average and longest wait time. | 
| Response | 
 | 
$.get('http://Chime.server/Chime/Api/GetQueueWaitTime',
    { queueID: 1 },
    function(data){
        //Do something with the response
    }
);
                | Method | GetQueueInfo | 
| Parameters | queueID (int) | 
| Summary | Returns various information for a queue, such as name, status etc. | 
| Response | 
 | 
$.get('http://Chime.server/Chime/Api/GetQueueInfo',
    { queueID: 1 },
    function(data){
        //Do something with the response
    }
);
                | Method | GetQueues | 
| Parameters | N/A | 
| Summary | Returns information on all queues. | 
| Response | 
 | 
$.get('http://Chime.server/Chime/Api/GetQueues',
    function(data){
        //Do something with the response
    }
);
                | Method | QueueAgents | 
| Parameters | queueID (int) | 
| Summary | Returns information on all agents in a queue. | 
| Response | 
 | 
$.get('http://Chime.server/Chime/Api/GetQueueInfo',
    { queueID: 1 },
    function(data){
        //Do something with the response
    }
);
                | Method | AgentPresence | 
| Parameters | sip:(SIP address) | 
| Summary | Returns information on specific agent. | 
| Response | 
 | 
$.get('http://Chime.server/Chime/Api/AgentPresence',
    { sip: jsmith123@instant-tech.com },
    function(data){
        //Do something with the response
    }
);
                | Method | GetAgentSkillTags | 
| Parameters | sip:(SIP address) | 
| Summary | Returns skill tags assigned to specific agent. | 
| Response | 
 | 
$.get('http://Chime.server/Chime/Api/GetAgentSkillTags',
    { sip: jsmith123@instant-tech.com },
    function(data){
        //Do something with the response
    }
);
                | Method | GetWebClients | 
| Parameters | queueID (int) | 
| Summary | Returns information on web clients from given queue. | 
| Response | 
 | 
$.get('http://Chime.server/Chime/Api/GetWebClients',
    { queueID: 1 },
    function(data){
        //Do something with the response
    }
);
                | Method | GetSessionData | 
| Parameters | sessionID (int) | 
| Summary | Returns various information for given chat session. | 
| Response | 
 | 
$.get('http://Chime.server/Chime/Api/GetSessionData',
    { sessionID: 53446 },
    function(data){
        //Do something with the response
    }
);
                | Method | AddSeekerCommentRating | 
| Request Method | POST | 
| Summary | Post comment and rating to a guest's session data. | 
| Endpoint | /Chime/Session/AddSeekerCommentRating | 
| Request Body | 
 | 
$.post(
    "/Chime/Session/AddSeekerCommentRating",
    {
        SessionGuid: "c5700c14-6870-4621-b002-5b393344b54b", 
        Rating: 1, 
        Comment:"Excellent! Thanks for the help"
    }
);
                | Method | GetAllOutages | |
| Parameters | N/A | |
| Summary | Returns all currently active Outages on the Chime server (will not show any outages that have expired or manually ended) | |
| Response | 
 | 
$.get('http://Chime.server/Chime/Api/GetAllOutages',
    function(data){
        //Do something with the response
    }
);
                | Method | GetQueueOutages | 
| Parameters | queueID (int) | 
| Summary | Returns information on all Outages for a given Queue (Will show all active and completed Outages) | 
| Response | 
 | 
$.get('http://Chime.server/Chime/Api/GetQueueOutages',
    { queueID: 1 },
    function(data){
        //Do something with the response
    }
);