EZRentOut Orders API

Create and manage rental orders (called baskets) end to end - draft an order, add assets, inventory, and stock, reserve and cancel reservations, apply coupons, taxes, and damage charges, check out (rent out), check in (return), and read order details and history.

OpenAPI Specification

ezrentout-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: EZRentOut API
  description: >-
    REST API for EZRentOut, the cloud equipment rental management platform from
    EZO (the company behind EZOfficeInventory). The API lets paying customers
    build custom integrations against their own rental account: orders (baskets),
    fixed assets, inventory and stock assets, bundles, customers and businesses,
    members, locations, availability, order payments and taxes, purchase orders,
    and maintenance / work orders.


    Every request is scoped to the customer's own tenant at
    https://{subdomain}.ezrentout.com and is authenticated with a per-company
    access token. The token is generated in Settings (API is disabled by default
    and must be enabled by the account owner) and sent in a `token` HTTP header
    over HTTPS. Resource endpoints are namespaced with a `.api` suffix. List
    endpoints are paginated with a `page` query parameter (default 1). Dates use
    `mm/dd/yyyy` and times use `hh:mm`.


    Endpoint paths and the authentication model are grounded in EZRentOut's
    public developer documentation (https://ezo.io/ezrentout/developers/).
    Request and response schemas here are modeled representations - EZRentOut
    does not publish a machine-readable OpenAPI document, so property sets are
    illustrative rather than exhaustive.
  version: '1.0'
  contact:
    name: EZO / EZRentOut Support
    url: https://ezo.io/ezrentout/developers/
    email: support@ezo.io
  termsOfService: https://ezo.io/ezrentout/terms-of-service/
servers:
  - url: https://{subdomain}.ezrentout.com
    description: Customer rental account (tenant)
    variables:
      subdomain:
        default: your-company
        description: Your EZRentOut company subdomain.
security:
  - tokenAuth: []
tags:
  - name: Orders
    description: Rental orders, called baskets - draft, reserve, check out, and check in.
  - name: Assets
    description: Serialized fixed (rentable) assets and GPS location tracking.
  - name: Inventory
    description: Volatile assets (inventory) and asset stock, with per-location stock.
  - name: Bundles
    description: Reusable kits of assets and inventory rented together.
  - name: Customers
    description: Customers, businesses, and business contacts, with addresses.
  - name: Members
    description: Staff members (users) of the rental account.
  - name: Locations
    description: Warehouses / branches that hold assets and inventory.
  - name: Availability
    description: Booked dates and per-location quantity for scheduling.
  - name: Payments
    description: Order payments, taxes, coupons, and damage charges (invoicing).
  - name: Purchase Orders
    description: Procurement - purchase orders and vendors.
  - name: Maintenance
    description: Service records and work orders (tasks) to keep equipment serviceable.
paths:
  /baskets.api:
    get:
      operationId: listOrders
      tags: [Orders]
      summary: List orders
      description: Retrieves all orders (baskets). Paginated with the page parameter.
      parameters:
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A page of orders.
          content:
            application/json:
              schema:
                type: object
                properties:
                  orders:
                    type: array
                    items:
                      $ref: '#/components/schemas/Order'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
    post:
      operationId: createOrder
      tags: [Orders]
      summary: Create an order
      description: Creates a new draft order (basket).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderInput'
      responses:
        '201':
          description: The created order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /baskets/{orderNum}.api:
    get:
      operationId: getOrder
      tags: [Orders]
      summary: Get order details
      parameters:
        - $ref: '#/components/parameters/OrderNum'
      responses:
        '200':
          description: The order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateOrder
      tags: [Orders]
      summary: Update an order
      parameters:
        - $ref: '#/components/parameters/OrderNum'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderInput'
      responses:
        '200':
          description: The updated order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
  /baskets/{orderNum}/history.api:
    get:
      operationId: getOrderHistory
      tags: [Orders]
      summary: Get order history
      parameters:
        - $ref: '#/components/parameters/OrderNum'
      responses:
        '200':
          description: The order's change history.
          content:
            application/json:
              schema:
                type: object
  /baskets/{orderNum}/update_basket_from_show.api:
    patch:
      operationId: addOrderLineItems
      tags: [Orders]
      summary: Add assets, inventory, or stock to an order
      description: Adds assets, inventory, stock, or coupons to a draft order.
      parameters:
        - $ref: '#/components/parameters/OrderNum'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: The updated order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
  /baskets/{orderNum}/reservation.api:
    patch:
      operationId: reserveOrder
      tags: [Orders]
      summary: Book (reserve) an order
      parameters:
        - $ref: '#/components/parameters/OrderNum'
      responses:
        '200':
          description: The reserved order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
  /baskets/{orderNum}/cancel_reservation.api:
    patch:
      operationId: cancelOrderReservation
      tags: [Orders]
      summary: Cancel an order reservation
      parameters:
        - $ref: '#/components/parameters/OrderNum'
      responses:
        '200':
          description: The updated order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
  /baskets/{orderNum}/checkout.api:
    patch:
      operationId: checkoutOrder
      tags: [Orders]
      summary: Rent out (check out) an order
      parameters:
        - $ref: '#/components/parameters/OrderNum'
      responses:
        '200':
          description: The rented-out order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
  /baskets/{orderNum}/checkin.api:
    patch:
      operationId: checkinOrder
      tags: [Orders]
      summary: Return (check in) an order
      parameters:
        - $ref: '#/components/parameters/OrderNum'
      responses:
        '200':
          description: The returned order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Order'
  /assets.api:
    get:
      operationId: listAssets
      tags: [Assets]
      summary: List assets
      parameters:
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A page of assets.
          content:
            application/json:
              schema:
                type: object
                properties:
                  assets:
                    type: array
                    items:
                      $ref: '#/components/schemas/Asset'
    post:
      operationId: createAsset
      tags: [Assets]
      summary: Create an asset
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetInput'
      responses:
        '201':
          description: The created asset.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Asset'
  /assets/filter.api:
    get:
      operationId: filterAssets
      tags: [Assets]
      summary: Filter assets
      description: Retrieves rented-out or otherwise filtered assets.
      parameters:
        - name: filter
          in: query
          schema:
            type: string
        - name: filter_val
          in: query
          schema:
            type: string
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A filtered page of assets.
          content:
            application/json:
              schema:
                type: object
  /assets/{assetNum}.api:
    get:
      operationId: getAsset
      tags: [Assets]
      summary: Get asset details
      parameters:
        - $ref: '#/components/parameters/AssetNum'
      responses:
        '200':
          description: The asset.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Asset'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateAsset
      tags: [Assets]
      summary: Update an asset
      parameters:
        - $ref: '#/components/parameters/AssetNum'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssetInput'
      responses:
        '200':
          description: The updated asset.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Asset'
    delete:
      operationId: deleteAsset
      tags: [Assets]
      summary: Delete an asset
      parameters:
        - $ref: '#/components/parameters/AssetNum'
      responses:
        '200':
          description: The asset was deleted.
  /assets/{assetNum}/gps_coordinates.api:
    patch:
      operationId: updateAssetGps
      tags: [Assets]
      summary: Update asset GPS coordinates
      parameters:
        - $ref: '#/components/parameters/AssetNum'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                latitude:
                  type: number
                longitude:
                  type: number
      responses:
        '200':
          description: The updated asset location.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Asset'
  /assets/{assetNum}/retire.api:
    put:
      operationId: retireAsset
      tags: [Assets]
      summary: Retire an asset
      parameters:
        - $ref: '#/components/parameters/AssetNum'
      responses:
        '200':
          description: The retired asset.
  /search.api:
    get:
      operationId: searchCatalog
      tags: [Assets]
      summary: Search assets and inventory
      parameters:
        - name: search
          in: query
          schema:
            type: string
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: Search results.
          content:
            application/json:
              schema:
                type: object
  /inventory.api:
    get:
      operationId: listInventory
      tags: [Inventory]
      summary: List inventory items
      parameters:
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A page of inventory items.
          content:
            application/json:
              schema:
                type: object
    post:
      operationId: createInventory
      tags: [Inventory]
      summary: Create an inventory item
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InventoryItem'
      responses:
        '201':
          description: The created inventory item.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InventoryItem'
  /inventory/{assetNum}.api:
    get:
      operationId: getInventory
      tags: [Inventory]
      summary: Get inventory item details
      parameters:
        - $ref: '#/components/parameters/AssetNum'
      responses:
        '200':
          description: The inventory item.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InventoryItem'
    put:
      operationId: updateInventory
      tags: [Inventory]
      summary: Update an inventory item
      parameters:
        - $ref: '#/components/parameters/AssetNum'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InventoryItem'
      responses:
        '200':
          description: The updated inventory item.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InventoryItem'
    delete:
      operationId: deleteInventory
      tags: [Inventory]
      summary: Delete an inventory item
      parameters:
        - $ref: '#/components/parameters/AssetNum'
      responses:
        '200':
          description: The inventory item was deleted.
  /inventory/{assetNum}/transfer_stock.api:
    post:
      operationId: transferInventoryStock
      tags: [Inventory]
      summary: Transfer inventory stock between locations
      parameters:
        - $ref: '#/components/parameters/AssetNum'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                from_location_id:
                  type: integer
                to_location_id:
                  type: integer
                quantity:
                  type: number
      responses:
        '200':
          description: The stock was transferred.
  /stock_assets.api:
    get:
      operationId: listStockAssets
      tags: [Inventory]
      summary: List stock assets
      parameters:
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A page of stock assets.
          content:
            application/json:
              schema:
                type: object
    post:
      operationId: createStockAsset
      tags: [Inventory]
      summary: Create a stock asset
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: The created stock asset.
  /bundles.api:
    get:
      operationId: listBundles
      tags: [Bundles]
      summary: List bundles
      parameters:
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A page of bundles.
          content:
            application/json:
              schema:
                type: object
                properties:
                  bundles:
                    type: array
                    items:
                      $ref: '#/components/schemas/Bundle'
    post:
      operationId: createBundle
      tags: [Bundles]
      summary: Create a bundle
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Bundle'
      responses:
        '201':
          description: The created bundle.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bundle'
  /bundles/{bundleId}.api:
    get:
      operationId: getBundle
      tags: [Bundles]
      summary: Get bundle details
      parameters:
        - name: bundleId
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: The bundle.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Bundle'
  /customers.api:
    get:
      operationId: listCustomers
      tags: [Customers]
      summary: List customers
      parameters:
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A page of customers.
          content:
            application/json:
              schema:
                type: object
                properties:
                  customers:
                    type: array
                    items:
                      $ref: '#/components/schemas/Customer'
    post:
      operationId: createCustomer
      tags: [Customers]
      summary: Create a customer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Customer'
      responses:
        '201':
          description: The created customer.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
  /customers/{customerId}.api:
    get:
      operationId: getCustomer
      tags: [Customers]
      summary: Get customer details
      parameters:
        - $ref: '#/components/parameters/CustomerId'
      responses:
        '200':
          description: The customer.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
    patch:
      operationId: updateCustomer
      tags: [Customers]
      summary: Update a customer
      parameters:
        - $ref: '#/components/parameters/CustomerId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Customer'
      responses:
        '200':
          description: The updated customer.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
    delete:
      operationId: deleteCustomer
      tags: [Customers]
      summary: Delete a customer
      parameters:
        - $ref: '#/components/parameters/CustomerId'
      responses:
        '200':
          description: The customer was deleted.
  /businesses.api:
    get:
      operationId: listBusinesses
      tags: [Customers]
      summary: List businesses
      parameters:
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A page of businesses.
          content:
            application/json:
              schema:
                type: object
    post:
      operationId: createBusiness
      tags: [Customers]
      summary: Create a business
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: The created business.
  /contacts.api:
    get:
      operationId: listContacts
      tags: [Customers]
      summary: List business contacts
      parameters:
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A page of contacts.
          content:
            application/json:
              schema:
                type: object
    post:
      operationId: createContact
      tags: [Customers]
      summary: Create a business contact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: The created contact.
  /members.api:
    get:
      operationId: listMembers
      tags: [Members]
      summary: List members
      parameters:
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A page of members.
          content:
            application/json:
              schema:
                type: object
                properties:
                  members:
                    type: array
                    items:
                      $ref: '#/components/schemas/Member'
    post:
      operationId: createMember
      tags: [Members]
      summary: Create a member
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Member'
      responses:
        '201':
          description: The created member.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Member'
  /members/{userId}.api:
    get:
      operationId: getMember
      tags: [Members]
      summary: Get member details
      parameters:
        - $ref: '#/components/parameters/UserId'
      responses:
        '200':
          description: The member.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Member'
    patch:
      operationId: updateMember
      tags: [Members]
      summary: Update a member
      parameters:
        - $ref: '#/components/parameters/UserId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Member'
      responses:
        '200':
          description: The updated member.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Member'
  /members/{userId}/checked_out_items.api:
    get:
      operationId: getMemberCheckedOutItems
      tags: [Members]
      summary: List a member's checked-out items
      parameters:
        - $ref: '#/components/parameters/UserId'
      responses:
        '200':
          description: The items the member currently has checked out.
          content:
            application/json:
              schema:
                type: object
  /locations.api:
    get:
      operationId: listLocations
      tags: [Locations]
      summary: List locations
      parameters:
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A page of locations.
          content:
            application/json:
              schema:
                type: object
                properties:
                  locations:
                    type: array
                    items:
                      $ref: '#/components/schemas/Location'
    post:
      operationId: createLocation
      tags: [Locations]
      summary: Create a location
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Location'
      responses:
        '201':
          description: The created location.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
  /locations/{locationId}.api:
    get:
      operationId: getLocation
      tags: [Locations]
      summary: Get location details
      parameters:
        - $ref: '#/components/parameters/LocationId'
      responses:
        '200':
          description: The location.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
    patch:
      operationId: updateLocation
      tags: [Locations]
      summary: Update a location
      parameters:
        - $ref: '#/components/parameters/LocationId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Location'
      responses:
        '200':
          description: The updated location.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Location'
  /locations/get_quantity_by_location.api:
    get:
      operationId: getQuantityByLocation
      tags: [Availability]
      summary: Get item quantity by location
      description: Returns available quantity of items broken down by location.
      parameters:
        - name: asset_id
          in: query
          schema:
            type: integer
      responses:
        '200':
          description: Quantity by location.
          content:
            application/json:
              schema:
                type: object
  /assets/{assetNum}/booked_dates.api:
    get:
      operationId: getAssetBookedDates
      tags: [Availability]
      summary: Get booked dates for an asset
      description: Returns the reserved (booked) date ranges for an asset so integrations can avoid double-booking.
      parameters:
        - $ref: '#/components/parameters/AssetNum'
      responses:
        '200':
          description: Booked date ranges.
          content:
            application/json:
              schema:
                type: object
                properties:
                  booked_dates:
                    type: array
                    items:
                      $ref: '#/components/schemas/BookedDate'
  /inventory/{assetNum}/booked_dates.api:
    get:
      operationId: getInventoryBookedDates
      tags: [Availability]
      summary: Get booked dates for an inventory item
      parameters:
        - $ref: '#/components/parameters/AssetNum'
      responses:
        '200':
          description: Booked date ranges.
          content:
            application/json:
              schema:
                type: object
  /payment_options.api:
    get:
      operationId: listPaymentOptions
      tags: [Payments]
      summary: List payment options
      responses:
        '200':
          description: Available payment options.
          content:
            application/json:
              schema:
                type: object
  /pricing_coupons.api:
    get:
      operationId: listCoupons
      tags: [Payments]
      summary: List pricing coupons
      responses:
        '200':
          description: Available pricing coupons.
          content:
            application/json:
              schema:
                type: object
  /baskets/{orderNum}/charge_pre_payment.api:
    patch:
      operationId: chargeOrderPayment
      tags: [Payments]
      summary: Charge a payment against an order
      parameters:
        - $ref: '#/components/parameters/OrderNum'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: number
                payment_option_id:
                  type: integer
      responses:
        '200':
          description: The payment was recorded.
  /baskets/{orderNum}/charge_damages.api:
    patch:
      operationId: chargeOrderDamages
      tags: [Payments]
      summary: Add damage charges to an order
      parameters:
        - $ref: '#/components/parameters/OrderNum'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: The damage charge was applied.
  /baskets/{orderNum}/apply_taxes.api:
    patch:
      operationId: applyOrderTaxes
      tags: [Payments]
      summary: Apply taxes to an order
      parameters:
        - $ref: '#/components/parameters/OrderNum'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                custom_tax_ids:
                  type: array
                  items:
                    type: integer
      responses:
        '200':
          description: Taxes were applied.
  /purchase_orders.api:
    get:
      operationId: listPurchaseOrders
      tags: [Purchase Orders]
      summary: List purchase orders
      parameters:
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A page of purchase orders.
          content:
            application/json:
              schema:
                type: object
    post:
      operationId: createPurchaseOrder
      tags: [Purchase Orders]
      summary: Create a purchase order
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: The created purchase order.
  /purchase_orders/{poId}.api:
    get:
      operationId: getPurchaseOrder
      tags: [Purchase Orders]
      summary: Get purchase order details
      parameters:
        - $ref: '#/components/parameters/PoId'
      responses:
        '200':
          description: The purchase order.
          content:
            application/json:
              schema:
                type: object
    patch:
      operationId: updatePurchaseOrder
      tags: [Purchase Orders]
      summary: Update a purchase order
      parameters:
        - $ref: '#/components/parameters/PoId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: The updated purchase order.
  /purchase_orders/{poId}/receive_items.api:
    patch:
      operationId: receivePurchaseOrderItems
      tags: [Purchase Orders]
      summary: Receive items against a purchase order
      parameters:
        - $ref: '#/components/parameters/PoId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: The items were received.
  /vendors.api:
    get:
      operationId: listVendors
      tags: [Purchase Orders]
      summary: List vendors
      parameters:
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A page of vendors.
          content:
            application/json:
              schema:
                type: object
    post:
      operationId: createVendor
      tags: [Purchase Orders]
      summary: Create a vendor
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: The created vendor.
  /services.api:
    get:
      operationId: listServices
      tags: [Maintenance]
      summary: List assets in service
      parameters:
        - $ref: '#/components/parameters/Page'
      responses:
        '200':
          description: A page of service records.
          content:
            application/json:
              schema:
                type: object
    post:
      operationId: createService
      tags: [Maintenance]
      summary: Create a service record
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: The created service record.
  /services/{serviceId}/complete.api:
    patch:
      operationId: completeService
      tags: [Maintenance]
      summary: Complete a service record
      parameters:
        - name: serviceId
          in: path
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: The service was completed.
  /assets/{assetNum}/maintenance.api:
    patch:
      operationId: putAssetInMaintenance
      tags: [Maintenance]
      summary: Put an asset into maintenance
      parameters:
        - $ref: '#/components/parameters/AssetNum'
      responses:
        '200':
          description: The asset was put into maintenance.
  /tasks.api:
    post:
      operationId: createWorkOrder
      tags: [Maintenance]
      summary: Create a work order
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object


# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ezrentout/refs/heads/main/openapi/ezrentout-openapi.yml