Properties
| Name | Type | Description |
|---|---|---|
| model | string | Model name of the device. |
| displayName | string | Display name of the device. |
| familyDisplayName | string | The display name of the device family. |
| type | object | |
| manufacturer | object | |
| managedBy | object | |
| supportedFor | array | List of places the device is supported for. |
| onboardingMethod | array | Onboarding method. |
| allowConfigureLayoutEnabled | boolean | Enables / Disables layout configuration for devices. |
| numberOfLinePorts | number | Number of port lines. |
| kemSupportEnabled | boolean | Indicates whether Kem support is enabled or not. |
| kemModuleCount | number | Module count. |
| kemLinesSupportEnabled | boolean | Enables / disables Kem lines support. |
| kemModuleType | array | Key expansion module type of the device. |
| upgradeChannelEnabled | boolean | Enables / Disables the upgrade channel. |
| defaultUpgradeChannel | string | The default upgrade channel. |
| additionalPrimaryLineAppearancesEnabled | boolean | Enables / disables the additional primary line appearances. |
| basicEmergencyNomadicEnabled | boolean | Enables / disables Basic emergency nomadic. |
| customizedBehaviorsEnabled | boolean | Enables / disables customized behavior support on devices. |
| allowConfigurePortsEnabled | boolean | Enables / disables configuring port support on device. |
| customizableLineLabelEnabled | boolean | Enables / disables customizable line label. |
| supportsLinePortReorderingEnabled | boolean | Enables / disables support line port reordering. |
| portNumberSupportEnabled | boolean | Enables / disables port number support. |
| t38Enabled | boolean | Enables / disables T.38. |
| callDeclinedEnabled | boolean | Enables / disables call declined. |
| touchScreenPhone | boolean | Supports touch screen on device. |
| numberOfLineKeyButtons | number | Number of line key buttons for a device. |
| deviceSettingsConfiguration | object | |
| allowHotelingHostEnabled | boolean | Enables / disables hoteling host. |
| supportsLogCollection | object | |
| supportsApplyChangesEnabled | boolean | Enables / disables apply changes. |
| allowConfigureLinesEnabled | boolean | Enables / disables configure lines. |
| allowConfigurePhoneSettingsEnabled | boolean | Enables / disables configure phone settings. |
| supportsHotlineEnabled | boolean | Enables / disables hotline support. |
| maxNumberOfLineAppearances | number | Maximum number of line appearances available on the device. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/DeviceObject",
"title": "DeviceObject",
"type": "object",
"required": [
"model",
"displayName",
"type",
"manufacturer",
"managedBy",
"supportedFor",
"onboardingMethod",
"allowConfigureLayoutEnabled",
"numberOfLinePorts",
"kemSupportEnabled",
"kemLinesSupportEnabled",
"upgradeChannelEnabled",
"additionalPrimaryLineAppearancesEnabled",
"basicEmergencyNomadicEnabled",
"customizedBehaviorsEnabled",
"allowConfigurePortsEnabled",
"customizableLineLabelEnabled",
"supportsLinePortReorderingEnabled",
"portNumberSupportEnabled",
"t38Enabled",
"callDeclinedEnabled",
"touchScreenPhone",
"numberOfLineKeyButtons",
"allowHotelingHostEnabled",
"supportsApplyChangesEnabled",
"allowConfigureLinesEnabled",
"allowConfigurePhoneSettingsEnabled",
"supportsHotlineEnabled"
],
"properties": {
"model": {
"type": "string",
"example": "2N Customer Managed",
"description": "Model name of the device."
},
"displayName": {
"type": "string",
"example": "2N Customer Managed",
"description": "Display name of the device."
},
"familyDisplayName": {
"type": "string",
"example": "Poly",
"description": "The display name of the device family."
},
"type": {
"$ref": "#/components/schemas/TypeObject"
},
"manufacturer": {
"$ref": "#/components/schemas/ManufacturerObject"
},
"managedBy": {
"$ref": "#/components/schemas/ManagedByObject"
},
"supportedFor": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SupportedForObject"
},
"description": "List of places the device is supported for."
},
"onboardingMethod": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OnboardingMethodObject"
},
"description": "Onboarding method."
},
"allowConfigureLayoutEnabled": {
"type": "boolean",
"description": "Enables / Disables layout configuration for devices."
},
"numberOfLinePorts": {
"type": "number",
"description": "Number of port lines."
},
"kemSupportEnabled": {
"type": "boolean",
"example": true,
"description": "Indicates whether Kem support is enabled or not."
},
"kemModuleCount": {
"type": "number",
"description": "Module count."
},
"kemLinesSupportEnabled": {
"type": "boolean",
"description": "Enables / disables Kem lines support."
},
"kemModuleType": {
"type": "array",
"items": {
"$ref": "#/components/schemas/KemModuleType"
},
"description": "Key expansion module type of the device."
},
"upgradeChannelEnabled": {
"type": "boolean",
"description": "Enables / Disables the upgrade channel."
},
"defaultUpgradeChannel": {
"type": "string",
"description": "The default upgrade channel."
},
"additionalPrimaryLineAppearancesEnabled": {
"type": "boolean",
"description": "Enables / disables the additional primary line appearances."
},
"basicEmergencyNomadicEnabled": {
"type": "boolean",
"description": "Enables / disables Basic emergency nomadic."
},
"customizedBehaviorsEnabled": {
"type": "boolean",
"description": "Enables / disables customized behavior support on devices."
},
"allowConfigurePortsEnabled": {
"type": "boolean",
"description": "Enables / disables configuring port support on device."
},
"customizableLineLabelEnabled": {
"type": "boolean",
"description": "Enables / disables customizable line label."
},
"supportsLinePortReorderingEnabled": {
"type": "boolean",
"description": "Enables / disables support line port reordering."
},
"portNumberSupportEnabled": {
"type": "boolean",
"description": "Enables / disables port number support."
},
"t38Enabled": {
"type": "boolean",
"description": "Enables / disables T.38."
},
"callDeclinedEnabled": {
"type": "boolean",
"description": "Enables / disables call declined."
},
"touchScreenPhone": {
"type": "boolean",
"description": "Supports touch screen on device."
},
"numberOfLineKeyButtons": {
"type": "number",
"description": "Number of line key buttons for a device."
},
"deviceSettingsConfiguration": {
"$ref": "#/components/schemas/DeviceSettingsConfigurationObject"
},
"allowHotelingHostEnabled": {
"type": "boolean",
"description": "Enables / disables hoteling host."
},
"supportsLogCollection": {
"$ref": "#/components/schemas/SupportsLogCollectionObject"
},
"supportsApplyChangesEnabled": {
"type": "boolean",
"description": "Enables / disables apply changes."
},
"allowConfigureLinesEnabled": {
"type": "boolean",
"description": "Enables / disables configure lines."
},
"allowConfigurePhoneSettingsEnabled": {
"type": "boolean",
"description": "Enables / disables configure phone settings."
},
"supportsHotlineEnabled": {
"type": "boolean",
"description": "Enables / disables hotline support."
},
"maxNumberOfLineAppearances": {
"type": "number",
"description": "Maximum number of line appearances available on the device."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/webex-deviceobject"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.