Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/united-rentals-rentals-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
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 Specification
openapi: 3.2.0
info:
title: United Total Control 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:
responses:
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'
Unauthorized:
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
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
Error:
type: object
properties:
code:
type: string
message:
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
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
RentalExtensionRequest:
type: object
required:
- newEndDate
properties:
newEndDate:
type: string
format: date
description: New return date
reason:
type: string
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: United Rentals API key from Total Control portal