United Rentals Rentals API
Rental reservations and orders
Rental reservations and orders
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.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.curl "https://apis.io/api/v1/apis/united-rentals-rentals-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
openapi: 3.2.0
info:
title: United Total Control Equipment Rentals API
description: United Rentals provides a broad selection of APIs to simplify the procure-to-pay lifecycle for equipment rentals. The Total Control platform enables integration with customer procurement and ERP systems via EDI, cXML, JSON, and flat-file formats. Capabilities include punch-out catalog ordering, rental reservations, fleet management, invoice management, and automated PO/bill pay workflows. United Rentals is the world's largest equipment rental company.
version: 1.0.0
contact:
name: United Rentals Integration Team
url: https://www.unitedrentals.com/services/online-services/total-control/system-integration
termsOfService: https://www.unitedrentals.com
servers:
- url: https://api.unitedrentals.com/v1
description: United Rentals Production API
tags:
- name: Rentals
description: Rental reservations and orders
paths:
/rentals:
post:
operationId: createRental
summary: Create Rental Reservation
description: Create a new rental reservation order. Supports integration with customer procurement systems via purchase order. Processes ordering from within the customer's ERP environment through punch-out workflow.
tags:
- Rentals
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RentalRequest'
responses:
'201':
description: Rental reservation created
content:
application/json:
schema:
$ref: '#/components/schemas/Rental'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
security:
- ApiKeyAuth: []
get:
operationId: listRentals
summary: List Rentals
description: Retrieve rental orders for the account. Supports fleet tracking and management.
tags:
- Rentals
parameters:
- name: status
in: query
schema:
type: string
enum:
- pending
- active
- returned
- cancelled
description: Filter by rental status
- name: startDate
in: query
schema:
type: string
format: date
- name: endDate
in: query
schema:
type: string
format: date
- name: jobSite
in: query
schema:
type: string
description: Filter by job site or project
responses:
'200':
description: Rentals list returned
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Rental'
'401':
$ref: '#/components/responses/Unauthorized'
security:
- ApiKeyAuth: []
/rentals/{rentalId}:
get:
operationId: getRental
summary: Get Rental Details
description: Retrieve details for a specific rental order.
tags:
- Rentals
parameters:
- name: rentalId
in: path
required: true
schema:
type: string
description: Rental order identifier
responses:
'200':
description: Rental details returned
content:
application/json:
schema:
$ref: '#/components/schemas/Rental'
'404':
$ref: '#/components/responses/NotFound'
'401':
$ref: '#/components/responses/Unauthorized'
security:
- ApiKeyAuth: []
/rentals/{rentalId}/extend:
post:
operationId: extendRental
summary: Extend Rental
description: Extend the duration of an active rental.
tags:
- Rentals
parameters:
- name: rentalId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RentalExtensionRequest'
responses:
'200':
description: Rental extended successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Rental'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
security:
- ApiKeyAuth: []
/rentals/{rentalId}/return:
post:
operationId: returnRental
summary: Return Rental
description: Initiate return of equipment from an active rental.
tags:
- Rentals
parameters:
- name: rentalId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ReturnRequest'
responses:
'200':
description: Return initiated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Rental'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
security:
- ApiKeyAuth: []
components:
schemas:
Rental:
type: object
properties:
rentalId:
type: string
status:
type: string
enum:
- pending
- active
- returned
- cancelled
equipment:
$ref: '#/components/schemas/Equipment'
startDate:
type: string
format: date
endDate:
type: string
format: date
returnDate:
type: string
format: date
jobSite:
type: string
deliveryAddress:
type: string
purchaseOrderNumber:
type: string
totalCost:
type: number
format: double
branchId:
type: string
createdAt:
type: string
format: date-time
RentalExtensionRequest:
type: object
required:
- newEndDate
properties:
newEndDate:
type: string
format: date
description: New return date
reason:
type: string
RentalRequest:
type: object
required:
- equipmentId
- startDate
- endDate
- jobSite
- purchaseOrderNumber
properties:
equipmentId:
type: string
startDate:
type: string
format: date
endDate:
type: string
format: date
jobSite:
type: string
description: Job site or project name
deliveryAddress:
type: string
purchaseOrderNumber:
type: string
description: Customer PO number for ERP integration
notes:
type: string
branchId:
type: string
Error:
type: object
properties:
code:
type: string
message:
type: string
Equipment:
type: object
properties:
equipmentId:
type: string
name:
type: string
category:
type: string
description: Equipment category (aerial, earthmoving, power, etc.)
type:
type: string
manufacturer:
type: string
model:
type: string
specifications:
type: object
additionalProperties: true
description: Equipment-specific technical specifications
dailyRate:
type: number
format: double
weeklyRate:
type: number
format: double
monthlyRate:
type: number
format: double
available:
type: boolean
nearestBranch:
type: string
ReturnRequest:
type: object
properties:
returnDate:
type: string
format: date
condition:
type: string
enum:
- good
- damaged
- missing-parts
notes:
type: string
responses:
Unauthorized:
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Invalid request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: United Rentals API key from Total Control portal