United Rentals · Capability

United Rentals Total Control API — Equipment

United Rentals Total Control API — Equipment. 3 operations. Lead operation: List Equipment. Self-contained Naftiko capability covering one United Rentals business surface.

Run with Naftiko United RentalsEquipment

What You Can Do

GET
Listequipment — List Equipment
/v1/equipment
GET
Getequipment — Get Equipment Details
/v1/equipment/{equipmentid}
GET
Checkequipmentavailability — Check Equipment Availability
/v1/equipment/{equipmentid}/availability

MCP Tools

list-equipment

List Equipment

read-only idempotent
get-equipment-details

Get Equipment Details

read-only idempotent
check-equipment-availability

Check Equipment Availability

read-only idempotent

Capability Spec

total-control-equipment.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: United Rentals Total Control API — Equipment
  description: 'United Rentals Total Control API — Equipment. 3 operations. Lead operation: List Equipment. Self-contained
    Naftiko capability covering one United Rentals business surface.'
  tags:
  - United Rentals
  - Equipment
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    UNITED_RENTALS_API_KEY: UNITED_RENTALS_API_KEY
capability:
  consumes:
  - type: http
    namespace: total-control-equipment
    baseUri: https://api.unitedrentals.com/v1
    description: United Rentals Total Control API — Equipment business capability. Self-contained, no shared references.
    resources:
    - name: equipment
      path: /equipment
      operations:
      - name: listequipment
        method: GET
        description: List Equipment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: category
          in: query
          type: string
          description: Equipment category (e.g., aerial, earthmoving, power)
        - name: type
          in: query
          type: string
          description: Equipment type filter
        - name: branchId
          in: query
          type: string
          description: Filter by nearest branch location
        - name: available
          in: query
          type: boolean
          description: Filter for available equipment only
        - name: page
          in: query
          type: integer
        - name: pageSize
          in: query
          type: integer
    - name: equipment-equipmentId
      path: /equipment/{equipmentId}
      operations:
      - name: getequipment
        method: GET
        description: Get Equipment Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: equipmentId
          in: path
          type: string
          description: United Rentals equipment identifier
          required: true
    - name: equipment-equipmentId-availability
      path: /equipment/{equipmentId}/availability
      operations:
      - name: checkequipmentavailability
        method: GET
        description: Check Equipment Availability
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: equipmentId
          in: path
          type: string
          required: true
        - name: startDate
          in: query
          type: string
          description: Rental start date
          required: true
        - name: endDate
          in: query
          type: string
          description: Rental end date
          required: true
        - name: branchId
          in: query
          type: string
          description: Preferred branch location
    authentication:
      type: apikey
      key: X-API-Key
      value: '{{env.UNITED_RENTALS_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: total-control-equipment-rest
    port: 8080
    description: REST adapter for United Rentals Total Control API — Equipment. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/equipment
      name: equipment
      description: REST surface for equipment.
      operations:
      - method: GET
        name: listequipment
        description: List Equipment
        call: total-control-equipment.listequipment
        with:
          category: rest.category
          type: rest.type
          branchId: rest.branchId
          available: rest.available
          page: rest.page
          pageSize: rest.pageSize
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/equipment/{equipmentid}
      name: equipment-equipmentid
      description: REST surface for equipment-equipmentId.
      operations:
      - method: GET
        name: getequipment
        description: Get Equipment Details
        call: total-control-equipment.getequipment
        with:
          equipmentId: rest.equipmentId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/equipment/{equipmentid}/availability
      name: equipment-equipmentid-availability
      description: REST surface for equipment-equipmentId-availability.
      operations:
      - method: GET
        name: checkequipmentavailability
        description: Check Equipment Availability
        call: total-control-equipment.checkequipmentavailability
        with:
          equipmentId: rest.equipmentId
          startDate: rest.startDate
          endDate: rest.endDate
          branchId: rest.branchId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: total-control-equipment-mcp
    port: 9090
    transport: http
    description: MCP adapter for United Rentals Total Control API — Equipment. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: list-equipment
      description: List Equipment
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: total-control-equipment.listequipment
      with:
        category: tools.category
        type: tools.type
        branchId: tools.branchId
        available: tools.available
        page: tools.page
        pageSize: tools.pageSize
      outputParameters:
      - type: object
        mapping: $.
    - name: get-equipment-details
      description: Get Equipment Details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: total-control-equipment.getequipment
      with:
        equipmentId: tools.equipmentId
      outputParameters:
      - type: object
        mapping: $.
    - name: check-equipment-availability
      description: Check Equipment Availability
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: total-control-equipment.checkequipmentavailability
      with:
        equipmentId: tools.equipmentId
        startDate: tools.startDate
        endDate: tools.endDate
        branchId: tools.branchId
      outputParameters:
      - type: object
        mapping: $.