openapi: 3.0.0 info: title: Webex Admin Address Book BroadWorks Enterprises API version: 1.0.0 description: The Webex Admin APIs provide comprehensive programmatic access to administrative functions for managing Webex organizations, users, licenses, and settings. These APIs enable automation of user provisioning, license assignment, compliance management, and audit event retrieval. Administrators can integrate with enterprise identity systems, enforce security policies, monitor usage, and streamline onboarding/offboarding processes. The APIs support granular control over organizational resources, making them ideal for large-scale deployments and custom admin tooling. tags: - name: BroadWorks Enterprises paths: /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 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: Trigger Directory Sync for an Enterprise operationId: Trigger Directory Sync for an Enterprise description: This API lets a Partner Admin trigger a 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: syncStatus: SYNC_NOW schema: type: object required: - syncStatus properties: syncStatus: type: string example: SYNC_NOW description: At this time, the only value allowed for this attribute is `SYNC_NOW` which will trigger the directory sync for the BroadWorks enterprise. get: responses: '200': description: OK headers: {} content: application/json: schema: $ref: '#/components/schemas/GetDirectorySyncStatusResponse' example: enableDirSync: true directorySyncStatus: lastSyncStartTime: '2021-03-23T16:09:06.527199Z' lastSyncEndTime: '2021-03-23T17:21:41.532770Z' syncStatus: COMPLETE usersAdded: 44 usersUpdated: 21 usersDeleted: 34 machinesAdded: 24 machinesUpdated: 4 machinesDeleted: 9 totalExternalUsersInCI: 1077 totalExternalMachinesInCI: 326 lastSyncTrackingId: NA_dde3a13a-bad7-4990-b155-9b4574e545b9 '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 Directory Sync Status for an Enterprise operationId: Get Directory Sync Status for an Enterprise description: This API lets a Partner Admin get the most recent directory sync status for a 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 /broadworks/enterprises/{id}/broadworksDirectorySync/externalUser: post: responses: '200': description: OK headers: {} content: application/json: schema: $ref: '#/components/schemas/TriggerUserDirectorySyncResponse' example: userResponse: userId: john.anderson@acme.com firstName: John lastName: Anderson extension: '4653' number: '+35391884653' mobile: +188-(2323)-(343) status: ADD '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: Trigger Directory Sync for a User operationId: Trigger Directory Sync for a User description: This API lets a Partner Admin trigger a directory sync for an external user (real or virtual user) on Broadworks enterprise with 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: userId: john_anderson@acme.com schema: type: object properties: userId: type: string example: john_anderson@acme.com description: The user ID of the Broadworks user to be synced (A non-webex user). components: schemas: TriggerUserDirectorySyncResponse: type: object properties: userResponse: type: object properties: userId: type: string example: john.anderson@acme.com description: The UserID of the user on Broadworks (A non-webex user). firstName: type: string example: John description: First name of the user on Broadworks. lastName: type: string example: Anderson description: Last name of the user on Broadworks. extension: type: string example: '4653' description: Extension of the user on Broadworks. number: type: string example: '+35391884653' description: Phone number of the user on Broadworks. mobile: type: string example: +188-(2323)-(343) description: Mobile number of the user on Broadworks. description: User Directory sync response status: type: string enum: - ADD - UPDATE - DELETE - NO_OPERATION description: "The Status of the operation being performed.\n * `ADD` - The external user is added in this sync\n * `UPDATE` - The external user is updated in this sync\n * `DELETE` - The external user is deleted in this sync\n * `NO_OPERATION` - No changes made on the external user in this sync\n" EnterpriseListResponse: type: object properties: id: type: string example: Y2lzY29zcGFyazovL3VzL0VOVEVSUFJJU0UvOTZhYmMyYWEtM2RjYy0xMWU1LWExNTItZmUzNDgxOWNkYzlh description: A unique Cisco identifier for the enterprise. orgId: type: string example: Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE description: The Organization ID of the enterprise on Webex. provisioningId: type: string example: ZjViMzYxODctYzhkZC00NzI3LThiMmYtZjljNDQ3ZjI5MDQ2OjQyODVmNTk0LTViNTEtNDdiZS05Mzk2LTZjMzZlMmFkODNhNQ description: The Provisioning ID associated with the enterprise. spEnterpriseId: type: string example: Reseller1+acme description: The Service Provider supplied unique identifier for the subscriber's enterprise. broadworksDirectorySync: type: object properties: enableDirSync: type: boolean example: true description: The toggle to enable/disable directory sync. directorySyncStatus: type: object properties: lastSyncStartTime: type: string example: '2021-04-01T14:49:50.309640Z' description: The start date and time of the last sync. lastSyncEndTime: type: string example: '2021-04-01T14:49:52.667189Z' description: The end date and time of the last sync. syncStatus: type: string example: COMPLETE description: The sync status of the enterprise. usersAdded: type: number example: 44 description: The number of users added to Common Identity (CI) in this sync. usersUpdated: type: number example: 21 description: The number of users updated in Common Identity (CI) in this sync. usersDeleted: type: number example: 34 description: The number of users deleted from Common Identity (CI) in this sync. machinesAdded: type: number example: 24 description: The number of machines added to Common Identity (CI) in this sync. machinesUpdated: type: number example: 4 description: The number of machines updated in Common Identity (CI) in this sync. machinesDeleted: type: number example: 9 description: The number of machines deleted from Common Identity (CI) in this sync. totalExternalUsersInCI: type: number example: 1077 description: The number of total external users that have been added to CI across all syncs. totalExternalMachinesInCI: type: number example: 326 description: The number of total external machines that have been added to Common Identity (CI) across all syncs. lastSuccessfulSyncTime: type: string example: '2021-04-01T14:48:30.502539Z' description: The date and time of the last successful sync. lastSyncTrackingId: type: string example: NA_dde3a13a-bad7-4990-b155-9b4574e545b9 description: Unique tracking identifier. errors: type: array items: type: object properties: errorCode: type: number example: 6003 description: An error code that identifies the reason for the error description: type: string example: Broadworks External Directory User Sync failed while trying to connect to Broadworks cluster. description: A textual representation of the error code. description: List of errors that occurred during that last attempt to sync this BroadWorks enterprise. This list captures errors that occurred during *directory sync* of the BroadWorks enterprise, *after* the API has been accepted and 200 OK response returned. Any errors that occur during initial API request validation will be captured directly in error response with appropriate HTTP status code. userContactsAdded: type: number example: 5 description: The number of user contacts added to Contact service in this sync. userContactsUpdated: type: number example: 2 description: The number of user contacts updated in Contact service in this sync. userContactsDeleted: type: number example: 1 description: The number of user contacts deleted from Contact service in this sync. orgContactsAdded: type: number example: 5 description: The number of org contacts added to Contact service in this sync. orgContactsUpdated: type: number example: 2 description: The number of org contacts updated in Contact service in this sync. orgContactsDeleted: type: number example: 1 description: The number of org contacts deleted from Contact service in this sync. totalUserContactsInContactService: type: number example: 10 description: The total number of user contacts in Contact service. totalOrgContactsInContactService: type: number example: 2 description: The total number of org contacts in Contact service. description: Directory sync status description: BroadWorks Directory sync TriggerDirectorySyncResponse: type: object properties: enableDirSync: type: boolean example: true description: The toggle that enabled the directory sync. directorySyncStatus: type: object properties: syncStatus: type: string example: IN_PROGRESS description: The sync status of the enterprise. description: Directory sync status UpdateDirectorySyncResponse: type: object properties: enableDirSync: type: boolean example: true description: The toggle to enable/disable directory sync. directorySyncStatus: type: object properties: syncStatus: type: string example: NOT_SYNCED description: The sync status of the enterprise. description: Directory sync status GetDirectorySyncStatusResponse: type: object properties: enableDirSync: type: boolean example: true description: The toggle to enable/disable directory sync. directorySyncStatus: type: object properties: lastSyncStartTime: type: string example: '2021-04-01T14:49:50.309640Z' description: The start date and time of the last sync. lastSyncEndTime: type: string example: '2021-04-01T14:49:52.667189Z' description: The end date and time of the last sync. syncStatus: type: string example: COMPLETE description: The sync status of the enterprise. usersAdded: type: number example: 44 description: The number of users added to Common Identity (CI) in this sync. usersUpdated: type: number example: 21 description: The number of users updated in Common Identity (CI) in this sync. usersDeleted: type: number example: 34 description: The number of users deleted from Common Identity (CI) in this sync. machinesAdded: type: number example: 24 description: The number of machines added to Common Identity (CI) in this sync. machinesUpdated: type: number example: 4 description: The number of machines updated in Common Identity (CI) in this sync. machinesDeleted: type: number example: 9 description: The number of machines deleted from Common Identity (CI) in this sync. totalExternalUsersInCI: type: number example: 1077 description: The number of total external users that have been added to CI across all syncs. totalExternalMachinesInCI: type: number example: 326 description: The number of total external machines that have been added to Common Identity (CI) across all syncs. lastSuccessfulSyncTime: type: string example: '2021-04-01T14:48:30.502539Z' description: The date and time of the last successful sync. lastSyncTrackingId: type: string example: NA_dde3a13a-bad7-4990-b155-9b4574e545b9 description: Unique tracking identifier. errors: type: array items: type: object properties: errorCode: type: number example: 6003 description: An error code that identifies the reason for the error description: type: string example: Broadworks External Directory User Sync failed while trying to connect to Broadworks cluster. description: A textual representation of the error code. description: List of errors that occurred during that last attempt to sync this BroadWorks enterprise. This list captures errors that occurred during *directory sync* of the BroadWorks enterprise, *after* the API has been accepted and 200 OK response returned. Any errors that occur during initial API request validation will be captured directly in error response with appropriate HTTP status code. userContactsAdded: type: number example: 5 description: The number of user contacts added to Contact service in this sync. userContactsUpdated: type: number example: 2 description: The number of user contacts updated in Contact service in this sync. userContactsDeleted: type: number example: 1 description: The number of user contacts deleted from Contact service in this sync. orgContactsAdded: type: number example: 5 description: The number of org contacts added to Contact service in this sync. orgContactsUpdated: type: number example: 2 description: The number of org contacts updated in Contact service in this sync. orgContactsDeleted: type: number example: 1 description: The number of org contacts deleted from Contact service in this sync. totalUserContactsInContactService: type: number example: 10 description: The total number of user contacts in Contact service. totalOrgContactsInContactService: type: number example: 2 description: The total number of org contacts in Contact service. description: Directory sync status securitySchemes: oauth2: flows: authorizationCode: authorizationUrl: / scopes: {} tokenUrl: / type: oauth2 bearer-key: type: http description: e.g. Bearer YOUR_AUTHORIZATION_TOKEN scheme: bearer bearerFormat: JWT bearerAuth: type: oauth2 description: OAuth 2.0 Bearer token authentication flows: authorizationCode: authorizationUrl: https://webexapis.com/v1/authorize tokenUrl: https://webexapis.com/v1/access_token scopes: spark:applications_token: Create access tokens for Service Apps