Webex Admin
Webex Admin API for managing organizations, users, licenses, locations, workspaces, devices, and organization settings. Provides administrative control over Webex deployments including PSTN settings and call policies.
Webex Admin API for managing organizations, users, licenses, locations, workspaces, devices, and organization settings. Provides administrative control over Webex deployments including PSTN settings and call policies.
{
"openapi": "3.0.0",
"info": {
"title": "Webex Admin",
"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": "Service Apps",
"description": "Operations for managing Service App access tokens"
}
],
"paths": {
"/adminAudit/events": {
"get": {
"responses": {
"200": {
"description": "OK",
"headers": {
"Content-Disposition": {
"schema": {
"type": "string"
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditEventCollectionResponse"
},
"example": {
"items": [
{
"data": {
"actorOrgName": "Acme Inc.",
"targetName": "Acme Inc.",
"eventDescription": "An Admin logged in",
"actorName": "Joe Smith",
"actorEmail": "[email protected]",
"adminRoles": [
"User"
],
"trackingId": "ATLAS_6f23a878-bcd4-c204-a4db-e701b42b0e5c_0",
"targetType": "TargetResourceType.ORG",
"targetId": "NWIzZTBiZDgtZjg4Ni00MjViLWIzMTgtYWNlYjliN2EwZGFj",
"eventCategory": "EventCategory.LOGINS",
"actorUserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36",
"actorIp": "128.107.241.191",
"targetOrgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE",
"actionText": "Joe Smith logged into organization Acme Inc.",
"targetOrgName": "Acme Inc."
},
"created": "2019-01-02T16:58:36.845Z",
"actorOrgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE",
"id": "MjQ0ODhiZTYtY2FiMS00ZGRkLTk0NWQtZDFlYjkzOGQ4NGUy",
"actorId": "MjQ4Njg2OTYtYWMwZC00ODY4LWJkMjEtZGUxZDc4MzhjOTdm"
}
]
}
}
}
},
"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 Admin Audit Events",
"operationId": "List Admin Audit Events",
"description": "List admin audit events in your organization. Several query parameters are available to filter the response.\n\nLong result sets will be split into [pages](/docs/basics#pagination).\n\n**NOTE**: A maximum of one year of audit events can be returned per request.",
"tags": [
"Admin Audit Events"
],
"parameters": [
{
"name": "orgId",
"in": "query",
"description": "List events in this organization, by ID.",
"required": true,
"example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE",
"schema": {
"type": "string"
}
},
{
"name": "from",
"in": "query",
"description": "List events which occurred after a specific date and time.",
"required": true,
"example": "2018-01-01T13:12:11.789Z",
"schema": {
"type": "string"
}
},
{
"name": "to",
"in": "query",
"description": "List events which occurred before a specific date and time.",
"required": true,
"example": "2018-01-01T14:12:11.789Z",
"schema": {
"type": "string"
}
},
{
"name": "actorId",
"in": "query",
"description": "List events performed by this person, by ID.",
"example": "ZWUzNDNmYjEtNGQzNS00ZjNmLWE2ZDctMzZkNzVlYjk0ZWVm",
"schema": {
"type": "string"
}
},
{
"name": "max",
"in": "query",
"description": "Limit the maximum number of events in the response. The maximum value is `200`.",
"example": "100",
"schema": {
"type": "number",
"default": 100
}
},
{
"name": "offset",
"in": "query",
"description": "Offset from the first result that you want to fetch.",
"example": "0",
"schema": {
"type": "number"
}
},
{
"name": "eventCategories",
"in": "query",
"description": "List events, by event categories.",
"example": "LOGINS,LOGOUT",
"schema": {
"type": "array",
"items": {
"type": "string",
"example": "LOGINS,LOGOUT"
},
"description": "List events, by event categories."
}
}
]
}
},
"/adminAudit/eventCategories": {
"get": {
"responses": {
"200": {
"description": "OK",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuditEventCategoryCollectionResponse"
},
"example": {
"eventCategories": []
}
}
}
},
"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 Admin Audit Event Categories",
"operationId": "List Admin Audit Event Categories",
"description": "Get the list of all admin event categories.",
"tags": [
"Admin Audit Events"
],
"parameters": []
}
},
"/authorizations": {
"get": {
"responses": {
"200": {
"description": "OK",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ListAuthorizations"
},
"example": {
"items": [
{
"id": "Y2lzY29zcGFyazovL3VzL0FVVEhPUklaQVRJT04vZjI3MDM0ZTMtMDA5ZS00ODA4LTk5MDQtNTNkMDQ0OGJlNDVk",
"applicationId": "Y2lzY29zcGFyazovL3VzL0FQUExJQ0FUSU9OL0NmMzkyNWU5NDFmMzhhYTc0M2Y0MmFiNzcwZmZhZjFhNTIyMjcxZDI5OTQ4NDhjNjk2YWMwYTEwN2Q2YTg5MjI3",
"applicationName": "Developer Portal",
"personId": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9lYjIyYjNiZC03NGNiLTRjMjktYjA3Zi1lYWQwMmU1NjgyZDI",
"clientId": "C80fb9c7096bd8474627317ee1d7a817eff372ca9c9cee3ce43c3ea3e8d1511ec",
"created": "2015-10-18T14:26:16+00:00",
"type": "refresh"
}
]
}
}
}
},
"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 authorizations for a user",
"operationId": "listAuthorizationsForUser",
"description": "Lists all authorizations for a user. Either `personId` or `personEmail` must be provided. This API does not support pagination.",
"tags": [
"Authorizations"
],
"parameters": [
{
"name": "personId",
"in": "query",
"description": "List authorizations for this user id.",
"example": "Y2lzY29zcGFyazovL3VzL1BFT1BMRS9mNWIzNjE4Ny1jOGRkLTQ3MjctOGIyZi1mOWM0NDdmMjkwNDY",
"schema": {
"type": "string"
}
},
{
"name": "personEmail",
"in": "query",
"description": "List authorizations for this user email.",
"example": "[email protected]",
"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 authorization of org and client ID",
"operationId": "Delete authorization of org and client ID",
"description": "Deletes an authorization by org ID and client ID.",
"tags": [
"Authorizations"
],
"parameters": [
{
"name": "clientId",
"in": "query",
"description": "The unique oAuth client id.",
"required": true,
"example": "C80fb9c7096bd8474627317ee1d7a817eff372ca9c9cee3ce43c3ea3e8d1511ec",
"schema": {
"type": "string"
}
},
{
"name": "orgId",
"in": "query",
"description": "The ID of the organization to which this person belongs. If no orgId is specified, use orgId from the OAuth token.",
"example": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE",
"schema": {
"type": "string"
}
}
]
}
},
"/authorizations/{authorizationId}": {
"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 authorization",
"operationId": "Delete authorization",
"description": "Deletes an authorization by authorization ID.\n\nSpecify the authorization Id in the `authorizationId` parameter in the URI, which was listed in the list resource.",
"tags": [
"Authorizations"
],
"parameters": [
{
"name": "authorizationId",
"in": "path",
"description": "The unique identifier for the message.",
"required": true,
"example": "Y2lzY29zcGFyazovL3VzL0FVVEhPUklaQVRJT04vZjI3MDM0ZTMtMDA5ZS00ODA4LTk5MDQtNTNkMDQ0OGJlNDVk",
"schema": {
"type": "string"
}
}
]
}
},
"/authorizations/tokenExpiry": {
"get": {
"responses": {
"200": {
"description": "OK",
"headers": {},
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"exp": {
"type": "number",
"description": "Epoch time in milliseconds at which the current token will expire."
}
},
"required": [
"exp"
]
},
"example": {
"exp": 1768630439322
}
}
}
},
"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 expiration status for a token",
"operationId": "getTokenExpirationStatus",
"description": "Epoch-based expiration time for the token.",
"tags": [
"Authorizations"
]
}
},
"/classifications": {
"get": {
"responses": {
"200": {
"description": "OK",
"headers": {},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationsSpaceClassificationCollectionResponse"
},
"example": {
"items": [
{
"id": "Y2lzY29zcGFyazovL3VzL0NMQVNTSUZJQ0FUSU9OL2YyMDUyZTgyLTU0ZjgtMTFlYS1hMmUzLTJlNzI4Y2U4ODEyNQ",
"rank": 0,
"title": "Public",
"enabled": true,
"description": "Does not contain private information",
"lastModified": "2020-02-22T00:06:42.438Z",
"orgId": "Y2lzY29zcGFyazovL3VzL09SR0FOSVpBVElPTi85NmFiYzJhYS0zZGNjLTExZTUtYTE1Mi1mZTM0ODE5Y2RjOWE"
}
]
}
}
}
},
"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."
},
# --- truncated at 32 KB (1665 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webex/refs/heads/main/openapi/webex-admin-openapi.json