EZRentOut Members API

Manage members (staff users) of the rental account - create, list, retrieve, and update members, mark them active or inactive, and read the items a member currently has checked out.

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