Download 3CX WebAPI Postman example (Save as and import file in postman)
Creomate 3CX WebAPI is an HTTP/JSON module installed on your 3CX server. It is not the official 3CX API: it gives CRM, ERP and contact center systems simple HTTP access to calls, extensions, queues, the phonebook and routing rules.
Base URL: https://{{3CXFQDN}}/webapi/{{AccessKey}}/{method}
{{3CXFQDN}} is your 3CX address and port, {{AccessKey}} is your access key. The Postman collection uses the same variables. GET https://{{3CXFQDN}}/webapi/tcx returns the license information without a key.
Access keys: keys are listed in the AuthKeys.csv file of the module, one key per line: key;email;name;access. Access levels: get — read data, set — change settings, full — required for call control and extension management, system — system parameters. After you edit the file, reload it with csv.reread.
Example AuthKeys.csv:
key;email;name;access
XXXXXXXXXXXXXXXX;crm@example.com;CRM;full
Requests and responses: all responses are JSON. Methods that change data are also called with GET; parameter.set uses POST with a JSON body.
Quick links: Quick start · Webhook documentation · SQL API · FAQ · Changelog · Price · Buy
{
"product": "3CX REST API",
"version": "3.0.8 20.1",
"release": "Webhooks",
"licenseExpire": "14.10.2033 21:32:17",
"clientLicensesNum": "999",
"concurrentCalls": 32,
"sql": true,
"api": true,
"ai": true,
"quality": false
} curl "https://pbx.example.com/webapi/license/activate?key=XXXX-XXXX-XXXX" curl "https://pbx.example.com/webapi/license/deactivate?key=XXXX-XXXX-XXXX" {
"result": 5
} {
"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"
}
]
}
]
} {
"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": []
}
]
} {
"nums": [
"90000",
"10002",
"10000",
"10001"
]
} {
"nums": [
"100",
"101",
"102",
"103",
"104",
"105",
"106",
"520",
"521",
"522"
]
} {
"nums": [
"100",
"101",
"102"
]
} [
{
"num": "100",
"fwdName": "Available",
"fwdMessage": "Custom message1",
"qGlobalStatus": true,
"qStatus": [
{
"num": "801",
"status": true
},
{
"num": "805",
"status": true
}
]
},
{
"num": "103",
"fwdName": "Available",
"fwdMessage": "",
"qGlobalStatus": true,
"qStatus": [
{
"num": "801",
"status": false
}
]
},
{
"num": "106",
"fwdName": "Available",
"fwdMessage": "",
"qGlobalStatus": true,
"qStatus": []
},
{
"num": "104",
"fwdName": "Available",
"fwdMessage": "",
"qGlobalStatus": true,
"qStatus": [
{
"num": "801",
"status": false
}
]
}
] {
"nums": [
"945",
"803"
]
} {
"nums": [
"777",
"QCB",
"800",
"804"
]
} {
"num": "102",
"name": "John",
"lastname": "Smith",
"email": "j.smith@example.com",
"mobile": "0601234567",
"enabled": true,
"externalCalls": true,
"recordType": "External",
"callerID": "",
"deliverAudio": false,
"sipID": "",
"reinvite": true,
"replaces": true,
"vmemail": "Notification",
"vmenabled": true,
"vmpin": "0000",
"vmplaycallerid": false,
"vmplaydatetime": "None",
"internal": false,
"noAnswerTimeout": 0,
"authID": "AUTH_ID",
"authPassword": "********",
"groups": [
"__DEFAULT__",
"Sales Dpt"
]
} {
"num": "102",
"registered": true,
"status": "Free",
"fwdName": "Available",
"fwdMessage": "Custom message1",
"qGlobalStatus": true,
"qStatus": [
{
"num": "801",
"status": true
},
{
"num": "805",
"status": true
}
]
} {
"count": 3,
"members": [
"520",
"521",
"522"
]
} {
"count": 2,
"members": [
"520",
"521"
]
} {
"result": true
} {
"result": true
} {
"result": true
} {
"result": true
} curl "https://pbx.example.com/webapi/YOUR_ACCESS_KEY/ext.rights?num=105&gname=Sales&rolename=users&canBargeIn=1" {
"result": true
} {
"extGroups": [
"__DEFAULT__",
"Company0",
"Sales",
"___FAVORITES___000"
]
} {
"count": 3,
"members": [
"101",
"102",
"520"
]
} {
"result": "system_owners"
} {
"add": [
"102"
],
"remove": [],
"change": []
} {
"result": true
} {
"result": true
} {
"count": 2,
"members": [
{
"num": "102",
"name": "Tom",
"lastname": "Smith",
"loggedIn": true
},
{
"num": "104",
"name": "Alex",
"lastname": "Mulder",
"loggedIn": false
}
]
} {
"nums": [
"100",
"103"
]
} {
"count": 1,
"members": [
{
"num": "102",
"name": "Tom",
"lastname": "Smith",
"loggedIn": true
}
]
} {
"count": 1,
"members": [
{
"num": "102",
"name": "Tom",
"lastname": "Smith",
"loggedIn": true
}
]
} {
"result": true
} {
"nums": [
"820",
"802",
"804"
]
} curl "https://pbx.example.com/webapi/YOUR_ACCESS_KEY/queue.size.get?num=801" {
"result": true
} {
"result": true
} {
"result": true
} curl "https://pbx.example.com/webapi/YOUR_ACCESS_KEY/queue.skill.set?num=800&ext=911&skill=5" {
"result": true
} {
"result": true
} {
"result": true
} {
"result": "Create queue"
} {
"result": "Update queue"
} {
"result": "Delete queue"
} {
"chid": "00000000-01dc-226c-d961-c78c00000001"
} {
"chid": "00000000-01dc-226c-d961-c78c00000002"
} {
"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"
}
]
} {
"result": "Drop"
} {
"result": "Answer"
} {
"result": "Transfer"
} {
"result": "Join"
} {
"result": "Barge in"
} curl "https://pbx.example.com/webapi/YOUR_ACCESS_KEY/recording.change?num=100&action=pause&contact=100" {
"id": [
6,
7
]
} {
"id": 5
} {
"result": "Delete contact"
} {
"result": "Update contact"
} {
"name": "FirstName",
"lastName": "LastName",
"company": "Company",
"crmContactData": "",
"tag": "",
"phone": "Mobile",
"data0": "Mobile2",
"data1": "Home",
"data2": "Home2",
"data3": "Business",
"data4": "Business2",
"data5": "Email",
"data6": "Other",
"data7": "Businessfax",
"data8": "Homefax",
"data9": "Pager"
} {
"result": "Create extension"
} {
"result": "Delete extension"
} {
"result": "Update extension"
} {
"count": 6,
"minPriority": 1,
"maxPriority": 6,
"rules": [
{
"priority": 1,
"name": "99 creomate.3cx.eu"
},
{
"priority": 2,
"name": "CZ"
},
{
"priority": 3,
"name": "Serbia"
},
{
"priority": 4,
"name": "North Macedonia 381"
},
{
"priority": 5,
"name": "USA/Canada"
}
{
"priority": 6,
"name": "UK"
}
]
} {
"name": "UK",
"priority": 13,
"prefix": "44",
"numberLength": "9,10,11",
"groups": [
"__DEFAULT__"
],
"ranges": [
"101",
"102"
],
"numberOfRoutes": 5,
"routes": [
"Zadarma OUT +381 21 322 0030.0..",
".0..",
".0..",
".0..",
".0.."
]
} {
"result": "Created outbound rule."
} {
"result": "Changed outbound rule."
} {
"result": "Outbound rule moved."
} {
"result": "Outbound rule moved."
} {
"result": "Deleted outbound rule."
} curl "https://pbx.example.com/webapi/YOUR_ACCESS_KEY/inboundrules.get?linename=SoftNet_381213220030" {
"type": "IVR",
"internal": "809",
"external": "",
"name": "DID-3810042213220030"
} curl "https://pbx.example.com/webapi/YOUR_ACCESS_KEY/inboundrule.add?linename=SoftNet_381213220030&did=381213220032&type=extension&internal=100&name=Support" {
"result": "Changed inbound rule."
} curl "https://pbx.example.com/webapi/YOUR_ACCESS_KEY/inboundrule.del?linename=SoftNet_381213220030&did=381213220030" curl "https://pbx.example.com/webapi/YOUR_ACCESS_KEY/dids.get?linename=SoftNet_381213220030" curl "https://pbx.example.com/webapi/YOUR_ACCESS_KEY/did.add?linename=SoftNet_381213220030&did=381213220032" curl "https://pbx.example.com/webapi/YOUR_ACCESS_KEY/dids.set?linename=SoftNet_381213220030&dids=381213220030,381213220031" {
"result":"Success"
} {
"result":"CFD scripts have been reset"
} {
"name": "VERSION",
"description": "Version",
"value": "20.0.5.384",
"type": 0
} {
"result": true
} {
"result": "The parameter list has been removed"
} curl "https://pbx.example.com/webapi/YOUR_ACCESS_KEY/dn.prop.get?num=300" curl "https://pbx.example.com/webapi/YOUR_ACCESS_KEY/dn.prop.set?num=300&name=PUSH_EXTENSION&value=1"