United Rentals Rentals API

Rental reservations and orders

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.
All 92 tools

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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

united-rentals-rentals-api-openapi.yml Raw ↑
openapi: 3.1.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:
    RentalExtensionRequest:
      type: object
      required:
      - newEndDate
      properties:
        newEndDate:
          type: string
          format: date
          description: New return date
        reason:
          type: string
    ReturnRequest:
      type: object
      properties:
        returnDate:
          type: string
          format: date
        condition:
          type: string
          enum:
          - good
          - damaged
          - missing-parts
        notes:
          type: string
    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
    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
    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
  responses:
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Invalid request parameters
      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