Webex Broadworks Calling
Webex Broadworks Calling API for managing BroadWorks subscriber provisioning and migration to Webex. Enables service providers to integrate BroadWorks telephony infrastructure with Webex cloud services.
Webex Broadworks Calling API for managing BroadWorks subscriber provisioning and migration to Webex. Enables service providers to integrate BroadWorks telephony infrastructure with Webex cloud services.
{
"openapi": "3.0.0",
"info": {
"title": "Webex Broadworks Calling",
"version": "1.0.0",
"description": "The Webex BroadWorks Calling APIs provide access to advanced calling features and user management for BroadWorks-powered Webex Calling deployments. These APIs support provisioning of users and devices, call control, feature management, device inventory, and detailed reporting. Service providers and enterprises can automate onboarding, integrate with OSS/BSS systems, manage user entitlements, and monitor call quality. The APIs are designed for scalable, multi-tenant environments and support seamless integration with existing telephony infrastructure."
},
"tags": [
{
"name": "BroadWorks Workspaces",
"description": "APIs for managing BroadWorks Workspaces."
}
],
"paths": {
"/broadworks/billing/reports": {
"get": {
"responses": {
"200": {
"description": "OK",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BillingReportsListResponse"
},
"example": {
"items": [
{
"id": "Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA",
"billingPeriod": "2021-05",
"status": "IN_PROGRESS"
},
{
"id": "Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2Zh2B",
"billingPeriod": "2021-04",
"status": "COMPLETED"
},
{
"id": "Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2Zh5D",
"billingPeriod": "2021-03",
"status": "FAILED"
}
]
}
}
}
},
"400": {
"description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further."
},
"401": {
"description": "Unauthorized: Authentication credentials were missing or incorrect."
},
"403": {
"description": "Forbidden: The request is understood, but it has been refused or access is not allowed."
},
"404": {
"description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method."
},
"405": {
"description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported."
},
"409": {
"description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once."
},
"410": {
"description": "Gone: The requested resource is no longer available."
},
"415": {
"description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported."
},
"423": {
"description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again."
},
"428": {
"description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded."
},
"429": {
"description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made."
},
"500": {
"description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)."
},
"502": {
"description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later."
},
"503": {
"description": "Service Unavailable: Server is overloaded with requests. Try again later."
},
"504": {
"description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it."
}
},
"summary": "List BroadWorks Billing Reports",
"operationId": "List BroadWorks Billing Reports",
"description": "Search for reports. There are a number of filter options which can be combined in a single request.",
"tags": [
"BroadWorks Billing Reports"
],
"parameters": [
{
"name": "before",
"in": "query",
"description": "Only include billing reports created before this date.",
"example": "2020-03",
"schema": {
"type": "string"
}
},
{
"name": "after",
"in": "query",
"description": "Only include billing reports created after this date.",
"example": "2019-12",
"schema": {
"type": "string"
}
},
{
"name": "sortBy",
"in": "query",
"description": "Sort the reports.\n\n+ Members:\n + id\n + status\n + billingPeriod",
"example": "billingPeriod",
"schema": {
"type": "string",
"default": "billingPeriod"
}
}
]
},
"post": {
"responses": {
"200": {
"description": "OK",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReportId"
},
"example": {
"id": "Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA"
}
}
}
},
"400": {
"description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further."
},
"401": {
"description": "Unauthorized: Authentication credentials were missing or incorrect."
},
"403": {
"description": "Forbidden: The request is understood, but it has been refused or access is not allowed."
},
"404": {
"description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method."
},
"405": {
"description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported."
},
"409": {
"description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once."
},
"410": {
"description": "Gone: The requested resource is no longer available."
},
"415": {
"description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported."
},
"423": {
"description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again."
},
"428": {
"description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded."
},
"429": {
"description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made."
},
"500": {
"description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)."
},
"502": {
"description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later."
},
"503": {
"description": "Service Unavailable: Server is overloaded with requests. Try again later."
},
"504": {
"description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it."
}
},
"summary": "Create a BroadWorks Billing Report",
"operationId": "Create a BroadWorks Billing Report",
"description": "Generate a monthly reconciliation report.\n\n<div>\n<Callout type='info'>\nPartners who have moved to extended wholesale subscription model should generate reports via [Wholesale Billing Reports](/docs/api/v1/wholesale-billing).\n</Callout>\n</div>",
"tags": [
"BroadWorks Billing Reports"
],
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"example": {
"billingPeriod": "2020-11"
},
"schema": {
"type": "object",
"required": [
"billingPeriod"
],
"properties": {
"billingPeriod": {
"type": "string",
"example": "2020-11",
"description": "The year and month (`YYYY-MM`) for which the billing report is to be generated."
}
}
}
}
}
}
}
},
"/broadworks/billing/reports/{id}": {
"get": {
"responses": {
"200": {
"description": "OK",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Report"
},
"example": {
"id": "Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA",
"billingPeriod": "2021-05",
"status": "COMPLETED",
"created": "2021-06-16T12:40:33.109Z",
"createdBy": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS8wYWNkMzg3NS00ZTEyLTRkNzctYjk4MS1lMzg5ZmQ4ODQ2YzA",
"tempDownloadURL": "https://billing-reports-example.webexcontent.com/a366de9b-3204-4140-8181-25808d360e36/2021/06/16/340177d1-7f25-41e1-a39f-ad63ec1103a5.csv?Expires=1624978489&Signature=Syp3vrVeMx4P6MeMtm8e1bQaeAdHFe-c7NeHERWh5-qJGLZ1T8Dvl2ee-M8OsFf~z6Yepz94e2Hh1HDVailD0Uryl8SgiM~jl0cBh7L0PmSe~i9oFA0eJ0MulkqGSMVf7ZHhxY55xYMgIBZIERkWm3CqQNDg5BS4EaXapKfOnmFegf36OokCM63m5uOK8-csk08IkZhwo2Z0l1JMtuWYEaLh4dgMHoe~xgH3YmDSSCWInFYaEifUAfgi2YAYS6nP9Zq4BTliBq62XBaehOE1gBrhy4RdwD-3WSs2oD-BdpoRpuGzo3FZzDLVEvd0S2D6gTcHljOHodQKxe-u0BXPWQ__&Key-Pair-Id=APKAJADAKLCI2FW2U32Q"
}
}
}
},
"400": {
"description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further."
},
"401": {
"description": "Unauthorized: Authentication credentials were missing or incorrect."
},
"403": {
"description": "Forbidden: The request is understood, but it has been refused or access is not allowed."
},
"404": {
"description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method."
},
"405": {
"description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported."
},
"409": {
"description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once."
},
"410": {
"description": "Gone: The requested resource is no longer available."
},
"415": {
"description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported."
},
"423": {
"description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again."
},
"428": {
"description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded."
},
"429": {
"description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made."
},
"500": {
"description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)."
},
"502": {
"description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later."
},
"503": {
"description": "Service Unavailable: Server is overloaded with requests. Try again later."
},
"504": {
"description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it."
}
},
"summary": "Get a BroadWorks Billing Report",
"operationId": "Get a BroadWorks Billing Report",
"description": "Retrieve a specific billing reconciliation report.",
"tags": [
"BroadWorks Billing Reports"
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "A unique identifier for the report in request.",
"required": true,
"example": "Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA",
"schema": {
"type": "string"
}
}
]
},
"delete": {
"responses": {
"204": {
"description": "No Content",
"headers": {},
"content": {}
},
"400": {
"description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further."
},
"401": {
"description": "Unauthorized: Authentication credentials were missing or incorrect."
},
"403": {
"description": "Forbidden: The request is understood, but it has been refused or access is not allowed."
},
"404": {
"description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method."
},
"405": {
"description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported."
},
"409": {
"description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once."
},
"410": {
"description": "Gone: The requested resource is no longer available."
},
"415": {
"description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported."
},
"423": {
"description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again."
},
"428": {
"description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded."
},
"429": {
"description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made."
},
"500": {
"description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)."
},
"502": {
"description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later."
},
"503": {
"description": "Service Unavailable: Server is overloaded with requests. Try again later."
},
"504": {
"description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it."
}
},
"summary": "Delete a BroadWorks Billing Report",
"operationId": "Delete a BroadWorks Billing Report",
"description": "Delete a monthly reconciliation report using a report ID.",
"tags": [
"BroadWorks Billing Reports"
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "A unique report ID that corresponds to a billing report.",
"required": true,
"example": "Y2lzY29zcGFyazovL3VzL0JJTExJTkdfUkVQT1JULzViOGQ1MThhLThmMDAtNDUxYi1hNDA2LWVhZjQ5YjRhN2ZhOA",
"schema": {
"type": "string"
}
}
]
}
},
"/broadworks/enterprises": {
"get": {
"responses": {
"200": {
"description": "OK",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EnterpriseListResponse"
},
"example": {
"items": [
{
"id": "Y2lzY29zcGFyazovL3VzL0VOVEVSUFJJU0UvOTZhYmMyYWEtM2RjYy0xMWU1LWExNTItZmUzNDgxOWNkYzlh",
"orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE",
"spEnterpriseId": "Reseller1+acme",
"provisioningId": "ZjViMzYxODctYzhkZC00NzI3LThiMmYtZjljNDQ3ZjI5MDQ2OjQyODVmNTk0LTViNTEtNDdiZS05Mzk2LTZjMzZlMmFkODNhNQ",
"broadworksDirectorySync": {
"enableDirSync": true,
"directorySyncStatus": {
"lastSyncStartTime": "2021-04-07T15:26:40.704911Z",
"lastSyncEndTime": "2021-04-07T15:26:42.695060Z",
"syncStatus": "COMPLETE",
"usersAdded": 0,
"usersUpdated": 0,
"usersDeleted": 0,
"machinesAdded": 0,
"machinesUpdated": 0,
"machinesDeleted": 0,
"totalExternalUsersInCI": 2,
"totalExternalMachinesInCI": 1,
"lastSyncTrackingId": "WEBEX-DEV-PORTAL_2de9b76f-6ad4-4f28-b8e8-c835885f9e7d_44"
}
}
}
]
}
}
}
},
"400": {
"description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further."
},
"401": {
"description": "Unauthorized: Authentication credentials were missing or incorrect."
},
"403": {
"description": "Forbidden: The request is understood, but it has been refused or access is not allowed."
},
"404": {
"description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method."
},
"405": {
"description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported."
},
"409": {
"description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once."
},
"410": {
"description": "Gone: The requested resource is no longer available."
},
"415": {
"description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported."
},
"423": {
"description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again."
},
"428": {
"description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded."
},
"429": {
"description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made."
},
"500": {
"description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)."
},
"502": {
"description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later."
},
"503": {
"description": "Service Unavailable: Server is overloaded with requests. Try again later."
},
"504": {
"description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it."
}
},
"summary": "List BroadWorks Enterprises",
"operationId": "List BroadWorks Enterprises",
"description": "List the provisioned enterprises for a Service Provider. This API also lets a Service Provider search for their provisioned enterprises on Webex. A search on enterprises can be performed by either a full or partial enterprise identifier.",
"tags": [
"BroadWorks Enterprises"
],
"parameters": [
{
"name": "spEnterpriseId",
"in": "query",
"description": "The Service Provider supplied unique identifier for the subscriber's enterprise.",
"example": "Reseller1+acme",
"schema": {
"type": "string"
}
},
{
"name": "startsWith",
"in": "query",
"description": "The starting string of the enterprise identifiers to match against.",
"example": "Res",
"schema": {
"type": "string"
}
},
{
"name": "max",
"in": "query",
"description": "Limit the number of enterprises returned in the search, up to 1000.",
"example": "10",
"schema": {
"type": "number",
"default": 100
}
}
]
}
},
"/broadworks/enterprises/{id}/broadworksDirectorySync": {
"put": {
"responses": {
"200": {
"description": "OK",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateDirectorySyncResponse"
},
"example": {
"enableDirSync": true,
"directorySyncStatus": {
"syncStatus": "NOT_SYNCED"
}
}
}
}
},
"400": {
"description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further."
},
"401": {
"description": "Unauthorized: Authentication credentials were missing or incorrect."
},
"403": {
"description": "Forbidden: The request is understood, but it has been refused or access is not allowed."
},
"404": {
"description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method."
},
"405": {
"description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported."
},
"409": {
"description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once."
},
"410": {
"description": "Gone: The requested resource is no longer available."
},
"415": {
"description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported."
},
"423": {
"description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again."
},
"428": {
"description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded."
},
"429": {
"description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how many seconds you need to wait before a successful request can be made."
},
"500": {
"description": "Internal Server Error: Something went wrong on the server. If the issue persists, feel free to contact the [Webex Developer Support team](/explore/support)."
},
"502": {
"description": "Bad Gateway: The server received an invalid response from an upstream server while processing the request. Try again later."
},
"503": {
"description": "Service Unavailable: Server is overloaded with requests. Try again later."
},
"504": {
"description": "Gateway Timeout: An upstream server failed to respond on time. If your query uses max parameter, please try to reduce it."
}
},
"summary": "Update Directory Sync for a BroadWorks Enterprise",
"operationId": "Update Directory Sync for a BroadWorks Enterprise",
"description": "This API lets a Partner Admin enable or disable directory sync for the customer's Broadworks enterprise on Webex.",
"tags": [
"BroadWorks Enterprises"
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "A unique identifier for the enterprise in question.",
"required": true,
"example": "Y2lzY29zcGFyazovL3VzL1NVQlNDUklCRVIvNjk3MGU2YmItNzQzOS00ZmZiLWFkMzQtZDNmZjAxNjdkZGFk",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"example": {
"enableDirSync": true
},
"schema": {
"type": "object",
"required": [
"enableDirSync"
],
"properties": {
"enableDirSync": {
"type": "boolean",
"example": true,
"description": "The toggle to enable/disable directory sync."
}
}
}
}
}
}
},
"post": {
"responses": {
"200": {
"description": "OK",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TriggerDirectorySyncResponse"
},
"example": {
"enableDirSync": true,
"directorySyncStatus": {
"syncStatus": "IN_PROGRESS"
}
}
}
}
},
"400": {
"description": "Bad Request: The request was invalid or cannot be otherwise served. An accompanying error message will explain further."
},
"401": {
"description": "Unauthorized: Authentication credentials were missing or incorrect."
},
"403": {
"description": "Forbidden: The request is understood, but it has been refused or access is not allowed."
},
"404": {
"description": "Not Found: The URI requested is invalid or the resource requested, such as a user, does not exist. Also returned when the requested format is not supported by the requested method."
},
"405": {
"description": "Method Not Allowed: The request was made to a resource using an HTTP request method that is not supported."
},
"409": {
"description": "Conflict: The request could not be processed because it conflicts with some established rule of the system. For example, a person may not be added to a room more than once."
},
"410": {
"description": "Gone: The requested resource is no longer available."
},
"415": {
"description": "Unsupported Media Type: The request was made to a resource without specifying a media type or used a media type that is not supported."
},
"423": {
"description": "Locked: The requested resource is temporarily unavailable. A Retry-After header may be present that specifies how many seconds you need to wait before attempting the request again."
},
"428": {
"description": "Precondition Required: File(s) cannot be scanned for malware and need to be force downloaded."
},
"429": {
"description": "Too Many Requests: Too many requests have been sent in a given amount of time and the request has been rate limited. A Retry-After header should be present that specifies how m
# --- truncated at 32 KB (489 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-broadworks-openapi.json