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: $.