Webex · Capability

Webex Cloud Calling — Workspaces

Webex Cloud Calling — Workspaces. 6 operations. Lead operation: List Workspaces. Self-contained Naftiko capability covering one Webex business surface.

Run with Naftiko WebexWorkspaces

What You Can Do

GET
Listworkspaces — List Workspaces
/v1/workspaces
POST
Createworkspace — Create a Workspace
/v1/workspaces
GET
Getworkspacedetails — Get Workspace Details
/v1/workspaces/{workspaceid}
PUT
Updateworkspace — Update a Workspace
/v1/workspaces/{workspaceid}
DELETE
Deleteworkspace — Delete a Workspace
/v1/workspaces/{workspaceid}
GET
Getworkspacecapabilities — Get Workspace Capabilities
/v1/workspaces/{workspaceid}/capabilities

MCP Tools

list-workspaces

List Workspaces

read-only idempotent
create-workspace

Create a Workspace

get-workspace-details

Get Workspace Details

read-only idempotent
update-workspace

Update a Workspace

idempotent
delete-workspace

Delete a Workspace

idempotent
get-workspace-capabilities

Get Workspace Capabilities

read-only idempotent

Capability Spec

cloud-calling-workspaces.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Webex Cloud Calling — Workspaces
  description: 'Webex Cloud Calling — Workspaces. 6 operations. Lead operation: List Workspaces. Self-contained Naftiko capability
    covering one Webex business surface.'
  tags:
  - Webex
  - Workspaces
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    WEBEX_API_KEY: WEBEX_API_KEY
capability:
  consumes:
  - type: http
    namespace: cloud-calling-workspaces
    baseUri: ''
    description: Webex Cloud Calling — Workspaces business capability. Self-contained, no shared references.
    resources:
    - name: workspaces
      path: /workspaces
      operations:
      - name: listworkspaces
        method: GET
        description: List Workspaces
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: query
          type: string
          description: List workspaces in this organization. Only admin users of another organization (such as partners) may
            use this parameter.
        - name: locationId
          in: query
          type: string
          description: Location associated with the workspace. Values must originate from the /locations API and not the legacy
            /workspaceLocations API.
        - name: workspaceLocationId
          in: query
          type: string
          description: Location associated with the workspace. Both values from the /locations API and the legacy /workspaceLocations
            API are supported. This field is deprecated and i
        - name: floorId
          in: query
          type: string
          description: Floor associated with the workspace.
        - name: displayName
          in: query
          type: string
          description: List workspaces by display name.
        - name: capacity
          in: query
          type: number
          description: List workspaces with the given capacity. Must be -1 or higher. A value of -1 lists workspaces with
            no capacity set.
        - name: type
          in: query
          type: string
          description: List workspaces by type.
        - name: start
          in: query
          type: number
          description: Offset. Default is 0.
        - name: max
          in: query
          type: number
          description: Limit the maximum number of workspaces in the response.
        - name: calling
          in: query
          type: string
          description: List workspaces by calling type.
        - name: supportedDevices
          in: query
          type: string
          description: List workspaces by supported devices.
        - name: calendar
          in: query
          type: string
          description: List workspaces by calendar type.
        - name: deviceHostedMeetingsEnabled
          in: query
          type: boolean
          description: List workspaces enabled for device hosted meetings.
        - name: devicePlatform
          in: query
          type: string
          description: List workspaces by device platform.
        - name: healthLevel
          in: query
          type: string
          description: List workspaces by health level.
        - name: includeDevices
          in: query
          type: boolean
          description: Flag identifying whether to include the devices associated with the workspace in the response.
        - name: includeCapabilities
          in: query
          type: boolean
          description: Flag identifying whether to include the workspace capabilities in the response.
        - name: plannedMaintenance
          in: query
          type: string
          description: List workspaces with given maintenance mode.
        - name: customAttribute
          in: query
          type: string
          description: List workspaces with given custom attribute key.
      - name: createworkspace
        method: POST
        description: Create a Workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: workspaces-workspaceId
      path: /workspaces/{workspaceId}
      operations:
      - name: getworkspacedetails
        method: GET
        description: Get Workspace Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workspaceId
          in: path
          type: string
          description: A unique identifier for the workspace.
          required: true
        - name: includeDevices
          in: query
          type: boolean
          description: Flag identifying whether to include the devices associated with the workspace in the response.
        - name: includeCapabilities
          in: query
          type: boolean
          description: Flag identifying whether to include the workspace capabilities in the response.
      - name: updateworkspace
        method: PUT
        description: Update a Workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workspaceId
          in: path
          type: string
          description: A unique identifier for the workspace.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteworkspace
        method: DELETE
        description: Delete a Workspace
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workspaceId
          in: path
          type: string
          description: A unique identifier for the workspace.
          required: true
    - name: workspaces-workspaceId-capabilities
      path: /workspaces/{workspaceId}/capabilities
      operations:
      - name: getworkspacecapabilities
        method: GET
        description: Get Workspace Capabilities
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: workspaceId
          in: path
          type: string
          description: A unique identifier for the workspace.
          required: true
    authentication:
      type: bearer
      token: '{{env.WEBEX_API_KEY}}'
  exposes:
  - type: rest
    namespace: cloud-calling-workspaces-rest
    port: 8080
    description: REST adapter for Webex Cloud Calling — Workspaces. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/workspaces
      name: workspaces
      description: REST surface for workspaces.
      operations:
      - method: GET
        name: listworkspaces
        description: List Workspaces
        call: cloud-calling-workspaces.listworkspaces
        with:
          orgId: rest.orgId
          locationId: rest.locationId
          workspaceLocationId: rest.workspaceLocationId
          floorId: rest.floorId
          displayName: rest.displayName
          capacity: rest.capacity
          type: rest.type
          start: rest.start
          max: rest.max
          calling: rest.calling
          supportedDevices: rest.supportedDevices
          calendar: rest.calendar
          deviceHostedMeetingsEnabled: rest.deviceHostedMeetingsEnabled
          devicePlatform: rest.devicePlatform
          healthLevel: rest.healthLevel
          includeDevices: rest.includeDevices
          includeCapabilities: rest.includeCapabilities
          plannedMaintenance: rest.plannedMaintenance
          customAttribute: rest.customAttribute
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createworkspace
        description: Create a Workspace
        call: cloud-calling-workspaces.createworkspace
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workspaces/{workspaceid}
      name: workspaces-workspaceid
      description: REST surface for workspaces-workspaceId.
      operations:
      - method: GET
        name: getworkspacedetails
        description: Get Workspace Details
        call: cloud-calling-workspaces.getworkspacedetails
        with:
          workspaceId: rest.workspaceId
          includeDevices: rest.includeDevices
          includeCapabilities: rest.includeCapabilities
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateworkspace
        description: Update a Workspace
        call: cloud-calling-workspaces.updateworkspace
        with:
          workspaceId: rest.workspaceId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteworkspace
        description: Delete a Workspace
        call: cloud-calling-workspaces.deleteworkspace
        with:
          workspaceId: rest.workspaceId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/workspaces/{workspaceid}/capabilities
      name: workspaces-workspaceid-capabilities
      description: REST surface for workspaces-workspaceId-capabilities.
      operations:
      - method: GET
        name: getworkspacecapabilities
        description: Get Workspace Capabilities
        call: cloud-calling-workspaces.getworkspacecapabilities
        with:
          workspaceId: rest.workspaceId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: cloud-calling-workspaces-mcp
    port: 9090
    transport: http
    description: MCP adapter for Webex Cloud Calling — Workspaces. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: list-workspaces
      description: List Workspaces
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-workspaces.listworkspaces
      with:
        orgId: tools.orgId
        locationId: tools.locationId
        workspaceLocationId: tools.workspaceLocationId
        floorId: tools.floorId
        displayName: tools.displayName
        capacity: tools.capacity
        type: tools.type
        start: tools.start
        max: tools.max
        calling: tools.calling
        supportedDevices: tools.supportedDevices
        calendar: tools.calendar
        deviceHostedMeetingsEnabled: tools.deviceHostedMeetingsEnabled
        devicePlatform: tools.devicePlatform
        healthLevel: tools.healthLevel
        includeDevices: tools.includeDevices
        includeCapabilities: tools.includeCapabilities
        plannedMaintenance: tools.plannedMaintenance
        customAttribute: tools.customAttribute
      outputParameters:
      - type: object
        mapping: $.
    - name: create-workspace
      description: Create a Workspace
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-workspaces.createworkspace
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-workspace-details
      description: Get Workspace Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-workspaces.getworkspacedetails
      with:
        workspaceId: tools.workspaceId
        includeDevices: tools.includeDevices
        includeCapabilities: tools.includeCapabilities
      outputParameters:
      - type: object
        mapping: $.
    - name: update-workspace
      description: Update a Workspace
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: cloud-calling-workspaces.updateworkspace
      with:
        workspaceId: tools.workspaceId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-workspace
      description: Delete a Workspace
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: cloud-calling-workspaces.deleteworkspace
      with:
        workspaceId: tools.workspaceId
      outputParameters:
      - type: object
        mapping: $.
    - name: get-workspace-capabilities
      description: Get Workspace Capabilities
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-workspaces.getworkspacecapabilities
      with:
        workspaceId: tools.workspaceId
      outputParameters:
      - type: object
        mapping: $.