Request

Answer (JSON)

GET Methods

Get WebAPI license information
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/
				
			

Parameters: no

				
					{
    "product": "3CX REST API",
    "version": "2.1.9",
    "release": "Webhooks",
    "licenseExpire": "02.05.2031 20:32:11",
    "clientLicensesNum": "50",
    "concurrentCalls": 16,
    "callRecords": true,
    "api": true,
    "quality": false
}
				
			
Get the current number of calls
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/pbx.calls.get
				
			

Parameters: no

				
					{
    "result": 5
}
				
			
Get 3CX status
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/pbx.ac.get
				
			

Parameters: no

				
					{
    "count": 2,
    "AConnByCallID": [
        {
            "callID": 46874,
            "direction": "Internal",
            "did": "",
            "AConnList": [
                {
                    "dnNum": "1739",
                    "dnType": "extension",
                    "externalParty": "1674",
                    "status": "Connected"
                },
                {
                    "dnNum": "1674",
                    "dnType": "extension",
                    "externalParty": "1739",
                    "status": "Connected"
                }
            ]
        },
        {
            "callID": 46883,
            "direction": "Internal",
            "did": "",
            "AConnList": [
                {
                    "dnNum": "1283",
                    "dnType": "extension",
                    "externalParty": "1126",
                    "status": "Connected"
                },
                {
                    "dnNum": "1126",
                    "dnType": "extension",
                    "externalParty": "1283",
                    "status": "Connected"
                }
            ]
        }
    ]
}
				
			
Get and additional 3CX information
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/pbx.callsinfo.get
				
			

Parameters: no

				
					{
    "count": 2,
    "callsInfo": [
        {
            "callID": 46874,
            "state": "Talking",
            "startedAt": "2022-12-29T08:37:16Z",
            "answeredAt": "2022-12-29T08:37:23Z",
            "did": "",
            "owner": {
                "dnNum": "1739",
                "dnType": "extension",
                "externalParty": "1674",
                "status": "Connected"
            },
            "talkTo": [
                {
                    "dnNum": "1674",
                    "dnType": "extension",
                    "externalParty": "1739",
                    "status": "Connected"
                }
            ],
            "routingTo": []
        },
        {
            "callID": 46864,
            "state": "Talking",
            "startedAt": "2022-12-29T08:23:58Z",
            "answeredAt": "2022-12-29T08:24:01Z",
            "did": "",
            "owner": {
                "dnNum": "1126",
                "dnType": "extension",
                "externalParty": "1283",
                "status": "Connected"
            },
            "talkTo": [
                {
                    "dnNum": "1283",
                    "dnType": "extension",
                    "externalParty": "1126",
                    "status": "Connected"
                }
            ],
            "routingTo": []
        }
    ]
}
				
			
Get external lines information
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/all.line.get
				
			

Parameters: no

				
					{
    "nums": [
        "90000",
        "10002",
        "10000",
        "10001"
    ]
}
				
			
Get all extensions
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/all.ext.get
				
			

Parameters: no

				
					{
    "nums": [
        "100",
        "101",
        "102",
        "103",
        "104",
        "105",
        "106",
        "520",
        "521",
        "522"
    ]
}
				
			
Get all registered extensions
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/all.registered.get
				
			

Parameters: no

				
					{
    "nums": [
        "100",
        "101",
        "102"
    ]
}
				
			
Get a list of ring groups
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/all.group.get
				
			

Parameters: no

				
					{
    "nums": [
        "945",
        "803"
    ]
}
				
			
Get a list of IVR's
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/all.ivr.get
				
			

Parameters: no

				
					{
    "nums": [
        "HOL",
        "777",
        "QCB",
        "800",
        "801",
        "805"
    ]
}
				
			
Get a list of queues
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/all.queue.get
				
			

Parameters: no

				
					{
    "nums": [
        "820",
        "802",
        "804"
    ]
}
				
			
Get a list extension group
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/all.extgroup.get
				
			

Parameters: no

				
					{
    "extGroups": [
        "__DEFAULT__",
        "Company0",
        "Sales",
        "___FAVORITES___000"
    ]
}
				
			
Get an extension properties
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/ext.info.get?num=102
				
			

Parameters: Extension

				
					{
    "num": "102",
    "name": "Tom",
    "lastname": "Smith",
    "email": "info@creomate.com",
    "mobile": "",
    "enabled": true,
    "externalCalls": true,
    "recordType": "External"
}
				
			
Get an extension status
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/ext.state.get?num=102
				
			

Parameters: Extension

				
					{
    "num": "102",
    "registered": true,
    "status": "Free",
    "fwdName": "Available",
    "qGlobalStatus": true,
    "qStatus": [
        {
            "num": "802",
            "status": false
        },
        {
            "num": "804",
            "status": true
        }
    ]
}
				
			
Get queue members
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/queue.members.get?num=802
				
			

Parameters: Queue

				
					{
    "count": 2,
    "members": [
        {
            "num": "102",
            "name": "Tom",
            "lastname": "Smith",
            "loggedIn": false
        },
        {
            "num": "104",
            "name": "Alex",
            "lastname": "Mulder",
            "loggedIn": false
        }
    ]
}
				
			
Get free queue members
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/queue.free.get?num=804
				
			

Parameters: Queue

				
					{
    "count": 1,
    "members": [
        {
            "num": "102",
            "name": "Tom",
            "lastname": "Smith",
            "loggedIn": true
        }
    ]
}
				
			
Get talking queue members
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/queue.talk.get?num=802
				
			

Parameters: Queue

				
					{
    "count": 1,
    "members": [
        {
            "num": "102",
            "name": "Tom",
            "lastname": "Smith",
            "loggedIn": true
        }
    ]
}
				
			
Get a queue availability
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/queue.isfree.get?num=802
				
			

Parameters: Queue

				
					{
    "result": true
}
				
			
Get a ring group members
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/group.members.get?num=803
				
			

Parameters: Ring group

				
					{
    "count": 3,
    "members": [
        "520",
        "521",
        "522"
    ]
}
				
			
Get a free ring group members
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/group.free.get?num=803
				
			

Parameters: Ring group

				
					{
    "count": 2,
    "members": [
        "520",
        "521"
    ]
}
				
			
Get a group members
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/extgroup.members.get?name=Sales
				
			

Parameters: Group name

				
					{
    "count": 3,
    "members": [
        "101",
        "102",
        "520"
    ]
}
				
			

SET methods

Set extension forwarding status
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/ext.fwd.set?num=102&status=Available
				
			

Parameters: Extension, Status

				
					{
    "result": true
}
				
			
Set extension global queue status
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/ext.queueglobal.set?num=102&log=on
				
			

Parameters: Extension, log

				
					{
    "result": true
}
				
			
Set extension queue status
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/ext.queue.set?num=102&queue=802&log=off
				
			

Parameters: Extension, queue, log

				
					{
    "result": true
}
				
			
Set extension recording options
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/ext.options.set?num=102&enabled=on&external=on&recording=external
				
			

Parameters: Extension, enabled, external, recording

				
					{
    "result": true
}
				
			

Call control API

Make call
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/makecall?first=102&second=420774852529
				
			

Parameters: Extension, phone number

				
					{
    "first": "102",
    "second": "420774852529"
}
				
			
Get devices and contact
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/ext.devices.get?num=102
				
			

Parameters: Extension

				
					{
    "count": 2,
    "devices": [
        {
            "userAgent": "3CX Mobile Client",
            "contact": "sip:102@127.0.0.1:5483;rinstance=5a6cb7ecb40359bf"
        },
        {
            "userAgent": "3CX WebRTC proxy",
            "contact": "sip:102@127.0.0.1:5063;rinstance=b206569d67c8dd02"
        }
    ]
}
				
			
Drop call
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/drop?num=102&contact=102
				
			

Parameters: Extension, contact (substring)

				
					{
    "result": "Drop"
}
				
			
Answer call
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/answer?num=102&contact=102
				
			

Parameters: Extension, contact (substring)

				
					{
    "result": "Answer"
}
				
			
Transfer call
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/transfer?num=102&contact=102&dest=101
				
			

Parameters: Extension, contact (substring), destination

				
					{
    "result": "Transfer"
}
				
			
Join call
				
					https://{{3CXFQDN}}/webapi/{{AccessKey}}/join?num=102
				
			

Parameters: Extension

				
					{
    "result": "Join"
}