Webex · Capability

Webex Cloud Calling — Locations

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

Run with Naftiko WebexLocations

What You Can Do

GET
Listlocations — List Locations
/v1/locations
POST
Createlocation — Create a Location
/v1/locations
GET
Getlocationdetails — Get Location Details
/v1/locations/{locationid}
PUT
Updatelocation — Update a Location
/v1/locations/{locationid}
DELETE
Deletelocation — Delete Location
/v1/locations/{locationid}
GET
Listlocationfloors — List Location Floors
/v1/locations/{locationid}/floors
POST
Createlocationfloor — Create a Location Floor
/v1/locations/{locationid}/floors
GET
Getlocationfloordetails — Get Location Floor Details
/v1/locations/{locationid}/floors/{floorid}
PUT
Updatelocationfloor — Update a Location Floor
/v1/locations/{locationid}/floors/{floorid}
DELETE
Deletelocationfloor — Delete a Location Floor
/v1/locations/{locationid}/floors/{floorid}

MCP Tools

list-locations

List Locations

read-only idempotent
create-location

Create a Location

get-location-details

Get Location Details

read-only idempotent
update-location

Update a Location

idempotent
delete-location

Delete Location

idempotent
list-location-floors

List Location Floors

read-only idempotent
create-location-floor

Create a Location Floor

get-location-floor-details

Get Location Floor Details

read-only idempotent
update-location-floor

Update a Location Floor

idempotent
delete-location-floor

Delete a Location Floor

idempotent

Capability Spec

cloud-calling-locations.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Webex Cloud Calling — Locations
  description: 'Webex Cloud Calling — Locations. 10 operations. Lead operation: List Locations. Self-contained Naftiko capability
    covering one Webex business surface.'
  tags:
  - Webex
  - Locations
  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-locations
    baseUri: ''
    description: Webex Cloud Calling — Locations business capability. Self-contained, no shared references.
    resources:
    - name: locations
      path: /locations
      operations:
      - name: listlocations
        method: GET
        description: List Locations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: query
          type: string
          description: List locations whose name contains this string (case-insensitive).
        - name: id
          in: query
          type: string
          description: List locations by ID.
        - name: orgId
          in: query
          type: string
          description: List locations in this organization. Only admin users of another organization (such as partners) may
            use this parameter.
        - name: max
          in: query
          type: number
          description: Limit the maximum number of location in the response.
      - name: createlocation
        method: POST
        description: Create a Location
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: query
          type: string
          description: Create a location common attribute for this organization.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: locations-locationId
      path: /locations/{locationId}
      operations:
      - name: getlocationdetails
        method: GET
        description: Get Location Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locationId
          in: path
          type: string
          description: A unique identifier for the location.
          required: true
        - name: orgId
          in: query
          type: string
          description: Get location common attributes for this organization.
      - name: updatelocation
        method: PUT
        description: Update a Location
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locationId
          in: path
          type: string
          description: Update location common attributes for this location.
          required: true
        - name: orgId
          in: query
          type: string
          description: Update location common attributes for this organization.
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletelocation
        method: DELETE
        description: Delete Location
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locationId
          in: path
          type: string
          description: A unique identifier for the location.
          required: true
        - name: orgId
          in: query
          type: string
          description: Specify the organization for the location to be deleted.
    - name: locations-locationId-floors
      path: /locations/{locationId}/floors
      operations:
      - name: listlocationfloors
        method: GET
        description: List Location Floors
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locationId
          in: path
          type: string
          description: A unique identifier for the location.
          required: true
      - name: createlocationfloor
        method: POST
        description: Create a Location Floor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locationId
          in: path
          type: string
          description: A unique identifier for the location.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: locations-locationId-floors-floorId
      path: /locations/{locationId}/floors/{floorId}
      operations:
      - name: getlocationfloordetails
        method: GET
        description: Get Location Floor Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locationId
          in: path
          type: string
          description: A unique identifier for the location.
          required: true
        - name: floorId
          in: path
          type: string
          description: A unique identifier for the floor.
          required: true
      - name: updatelocationfloor
        method: PUT
        description: Update a Location Floor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locationId
          in: path
          type: string
          description: A unique identifier for the location.
          required: true
        - name: floorId
          in: path
          type: string
          description: A unique identifier for the floor.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deletelocationfloor
        method: DELETE
        description: Delete a Location Floor
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: locationId
          in: path
          type: string
          description: A unique identifier for the location.
          required: true
        - name: floorId
          in: path
          type: string
          description: A unique identifier for the floor.
          required: true
    authentication:
      type: bearer
      token: '{{env.WEBEX_API_KEY}}'
  exposes:
  - type: rest
    namespace: cloud-calling-locations-rest
    port: 8080
    description: REST adapter for Webex Cloud Calling — Locations. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/locations
      name: locations
      description: REST surface for locations.
      operations:
      - method: GET
        name: listlocations
        description: List Locations
        call: cloud-calling-locations.listlocations
        with:
          name: rest.name
          id: rest.id
          orgId: rest.orgId
          max: rest.max
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createlocation
        description: Create a Location
        call: cloud-calling-locations.createlocation
        with:
          orgId: rest.orgId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/locations/{locationid}
      name: locations-locationid
      description: REST surface for locations-locationId.
      operations:
      - method: GET
        name: getlocationdetails
        description: Get Location Details
        call: cloud-calling-locations.getlocationdetails
        with:
          locationId: rest.locationId
          orgId: rest.orgId
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatelocation
        description: Update a Location
        call: cloud-calling-locations.updatelocation
        with:
          locationId: rest.locationId
          orgId: rest.orgId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletelocation
        description: Delete Location
        call: cloud-calling-locations.deletelocation
        with:
          locationId: rest.locationId
          orgId: rest.orgId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/locations/{locationid}/floors
      name: locations-locationid-floors
      description: REST surface for locations-locationId-floors.
      operations:
      - method: GET
        name: listlocationfloors
        description: List Location Floors
        call: cloud-calling-locations.listlocationfloors
        with:
          locationId: rest.locationId
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createlocationfloor
        description: Create a Location Floor
        call: cloud-calling-locations.createlocationfloor
        with:
          locationId: rest.locationId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/locations/{locationid}/floors/{floorid}
      name: locations-locationid-floors-floorid
      description: REST surface for locations-locationId-floors-floorId.
      operations:
      - method: GET
        name: getlocationfloordetails
        description: Get Location Floor Details
        call: cloud-calling-locations.getlocationfloordetails
        with:
          locationId: rest.locationId
          floorId: rest.floorId
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatelocationfloor
        description: Update a Location Floor
        call: cloud-calling-locations.updatelocationfloor
        with:
          locationId: rest.locationId
          floorId: rest.floorId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletelocationfloor
        description: Delete a Location Floor
        call: cloud-calling-locations.deletelocationfloor
        with:
          locationId: rest.locationId
          floorId: rest.floorId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: cloud-calling-locations-mcp
    port: 9090
    transport: http
    description: MCP adapter for Webex Cloud Calling — Locations. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: list-locations
      description: List Locations
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-locations.listlocations
      with:
        name: tools.name
        id: tools.id
        orgId: tools.orgId
        max: tools.max
      outputParameters:
      - type: object
        mapping: $.
    - name: create-location
      description: Create a Location
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-locations.createlocation
      with:
        orgId: tools.orgId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-location-details
      description: Get Location Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-locations.getlocationdetails
      with:
        locationId: tools.locationId
        orgId: tools.orgId
      outputParameters:
      - type: object
        mapping: $.
    - name: update-location
      description: Update a Location
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: cloud-calling-locations.updatelocation
      with:
        locationId: tools.locationId
        orgId: tools.orgId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-location
      description: Delete Location
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: cloud-calling-locations.deletelocation
      with:
        locationId: tools.locationId
        orgId: tools.orgId
      outputParameters:
      - type: object
        mapping: $.
    - name: list-location-floors
      description: List Location Floors
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-locations.listlocationfloors
      with:
        locationId: tools.locationId
      outputParameters:
      - type: object
        mapping: $.
    - name: create-location-floor
      description: Create a Location Floor
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: cloud-calling-locations.createlocationfloor
      with:
        locationId: tools.locationId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-location-floor-details
      description: Get Location Floor Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: cloud-calling-locations.getlocationfloordetails
      with:
        locationId: tools.locationId
        floorId: tools.floorId
      outputParameters:
      - type: object
        mapping: $.
    - name: update-location-floor
      description: Update a Location Floor
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: cloud-calling-locations.updatelocationfloor
      with:
        locationId: tools.locationId
        floorId: tools.floorId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-location-floor
      description: Delete a Location Floor
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: cloud-calling-locations.deletelocationfloor
      with:
        locationId: tools.locationId
        floorId: tools.floorId
      outputParameters:
      - type: object
        mapping: $.