EZRentOut MCP by usefulapi
MCP server for EZRentOut — rental orders, assets, customers, inventory and work orders.
使うべきか
品質と安全性
検出事項(13)
- LOWezrentout_start_work_order 内
- LOWezrentout_search_member_by_email 内
- LOWezrentout_list_business_contacts 内
- LOWezrentout_list_customer_addresses 内
- LOWezrentout_list_business_addresses 内
- LOWezrentout_get_asset_booked_dates 内
- LOWezrentout_list_assets_in_service 内
- LOWezrentout_get_inventory_history 内
- LOWezrentout_get_quantity_by_location 内
- LOWezrentout_get_user_checked_out_items 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"ezrentout": {
"url": "https://ezrentout.usefulapi.io/mcp"
}
}
}リモートエンドポイント
https://ezrentout.usefulapi.io/mcpstreamable-httpできること
ツール一覧
ツール(59)
🟢ezrentout_list_orders(page)
List all rental orders (25 per page) with status, customer and dates. Paged: add 1 to page for the next one. GET /baskets.api.
入力スキーマ
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_order(order_number)
One order by its order number: customer, status, dates, line items (order_line_items), sub-rent items, totals and payments. GET /baskets/<ORDER#>.api.
入力スキーマ
{
"type": "object",
"properties": {
"order_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The order number (Order#), from ezrentout_list_orders."
}
},
"required": [
"order_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_order_history(order_number)
The check-out / check-in history of one order. GET /baskets/<ORDER#>/history.api.
入力スキーマ
{
"type": "object",
"properties": {
"order_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The order number (Order#)."
}
},
"required": [
"order_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_payment_options
The payment options (cash, check, ...) that ezrentout_record_order_payment accepts. GET /payment_options.api.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_coupons
All pricing coupons of the company. GET /pricing_coupons.api.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_customers(filter, filter_val, page)
List customers (25 per page). Optional filter: email, category, taxed, non_taxed, inactive_customers, subscribed_emails, not_subscribed_emails, checked_out_orders, completed_orders, account_name. email, category, account_name and completed_orders (for example "> 50") need filter_val. GET /customers.api.
入力スキーマ
{
"type": "object",
"properties": {
"filter": {
"description": "Filter name.",
"type": "string",
"enum": [
"email",
"category",
"taxed",
"non_taxed",
"inactive_customers",
"subscribed_emails",
"not_subscribed_emails",
"checked_out_orders",
"completed_orders",
"account_name"
]
},
"filter_val": {
"description": "The value for the filters that need one (an email address, a category, an account name, or a comparison such as > 50).",
"type": "string",
"maxLength": 255
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_customer(customer_id)
One customer by id: name, email, phone, addresses, status, custom fields. GET /customers/<CUSTOMER_ID>.api.
入力スキーマ
{
"type": "object",
"properties": {
"customer_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The customer id, from ezrentout_list_customers."
}
},
"required": [
"customer_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_search_member_by_email(email)
Look up the customer, business contact or business that has an email address. GET /api/members/search_by_email.api.
入力スキーマ
{
"type": "object",
"properties": {
"email": {
"type": "string",
"minLength": 3,
"maxLength": 255,
"description": "The email address."
}
},
"required": [
"email"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_businesses(filter, filter_val, page)
List business customers (20 per page). Optional filter: all, active_businesses, inactive_businesses, checked_out_orders, active_customers, completed_orders (completed_orders needs filter_val, for example "> 50"). GET /businesses.api.
入力スキーマ
{
"type": "object",
"properties": {
"filter": {
"description": "Filter name (default all).",
"type": "string",
"enum": [
"all",
"active_businesses",
"inactive_businesses",
"checked_out_orders",
"active_customers",
"completed_orders"
]
},
"filter_val": {
"description": "The comparison for completed_orders, for example > 50.",
"type": "string",
"maxLength": 100
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_business(business_id)
One business customer by id. GET /businesses/<BUSINESS#>.api.
入力スキーマ
{
"type": "object",
"properties": {
"business_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The business id, from ezrentout_list_businesses."
}
},
"required": [
"business_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_business_contacts(page)
List the contact persons of business customers (25 per page). GET /contacts.api.
入力スキーマ
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_business_contact(contact_id)
One business contact by id. GET /contacts/<CONTACT_ID>.api.
入力スキーマ
{
"type": "object",
"properties": {
"contact_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The contact id, from ezrentout_list_business_contacts."
}
},
"required": [
"contact_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_customer_addresses(customer_id, page)
The shipping/billing addresses of one customer. GET /customers/<CUSTOMER_ID>/shipping_addresses.api.
入力スキーマ
{
"type": "object",
"properties": {
"customer_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The customer id."
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"customer_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_business_addresses(business_id, page)
The shipping/billing addresses of one business. GET /businesses/<BUSINESS#>/shipping_addresses.api.
入力スキーマ
{
"type": "object",
"properties": {
"business_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The business id."
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"business_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_assets(include_custom_fields, show_image_urls, page)
List fixed assets (the individually tracked rental items, 25 per page) with group, location and status. GET /assets.api.
入力スキーマ
{
"type": "object",
"properties": {
"include_custom_fields": {
"description": "Also return the items' custom fields (default false).",
"type": "boolean"
},
"show_image_urls": {
"description": "Also return document and image links of the items (default false).",
"type": "boolean"
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_filter_assets(status, filter_param_val, include_custom_fields, page)
Assets by a status filter. status: available, assets_being_serviced, availability_range, checked_out (= currently rented out), group, location, overdue, possessions_of, possessions_of_email, reserved, product_model_number, items_in_order, reservation_starting_today, retired, update_time. Most filters need filter_param_val (a group or location id, a user id, an email, a model number, an order number; for availability_range two dates joined by ~). Not needed for available, checked_out, overdue, reserved, retired. GET /assets/filter.api.
入力スキーマ
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"available",
"assets_being_serviced",
"availability_range",
"checked_out",
"group",
"location",
"overdue",
"possessions_of",
"possessions_of_email",
"reserved",
"product_model_number",
"items_in_order",
"reservation_starting_today",
"retired",
"update_time"
],
"description": "The filter."
},
"filter_param_val": {
"description": "The value the filter needs, if any.",
"type": "string",
"maxLength": 255
},
"include_custom_fields": {
"description": "Also return the items' custom fields (default false).",
"type": "boolean"
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"status"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_search_assets(search, page)
Search by asset name (3+ characters), or # followed by the item number, or @ followed by the identification number. GET /search.api (facet FixedAsset).
入力スキーマ
{
"type": "object",
"properties": {
"search": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Name, #<item number> or @<identification number>."
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"search"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_asset(asset_number, include_custom_fields, show_services_details)
One fixed asset by its asset number: details, group, location, status, rental prices, optionally service details and custom fields. GET /assets/<ASSET#>.api.
入力スキーマ
{
"type": "object",
"properties": {
"asset_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The asset number (Asset#), from ezrentout_list_assets."
},
"include_custom_fields": {
"description": "Also return the items' custom fields (default false).",
"type": "boolean"
},
"show_services_details": {
"description": "Also return service (maintenance) data.",
"type": "boolean"
}
},
"required": [
"asset_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_asset_history(asset_number, page)
The check-in/check-out and change history of one asset (5 entries per page). GET /assets/<ASSET#>/history_paginate.api.
入力スキーマ
{
"type": "object",
"properties": {
"asset_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The asset number."
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"asset_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_asset_booked_dates(asset_number)
The dates on which an asset, inventory item or asset stock is booked or reserved. GET /assets/<ASSET#>/booked_dates.api.
入力スキーマ
{
"type": "object",
"properties": {
"asset_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The item number (Asset#)."
}
},
"required": [
"asset_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_asset_comments(asset_number, created_by_id, page)
The comments on one item (25 per page), optionally by one user. GET /assets/<ASSET#>/comments.api.
入力スキーマ
{
"type": "object",
"properties": {
"asset_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The item number (Asset#)."
},
"created_by_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "Only comments by this user id."
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"asset_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_assets_in_service(service_type, service_state, page)
Assets currently in maintenance (25 per page), optionally only one service type or state. GET /assets/filter.api?for_service=true&status=assets_being_serviced.
入力スキーマ
{
"type": "object",
"properties": {
"service_type": {
"description": "Only this service type name.",
"type": "string",
"maxLength": 100
},
"service_state": {
"description": "Only this service state.",
"type": "string",
"maxLength": 100
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_inventory(include_custom_fields, page)
List inventory (consumable items tracked by quantity, 25 per page). GET /inventory.api.
入力スキーマ
{
"type": "object",
"properties": {
"include_custom_fields": {
"description": "Also return the items' custom fields (default false).",
"type": "boolean"
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_inventory_item(asset_number, include_custom_fields)
One inventory item by item number, with its stock. GET /inventory/<ASSET#>.api.
入力スキーマ
{
"type": "object",
"properties": {
"asset_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The inventory item number (Asset#)."
},
"include_custom_fields": {
"description": "Also return the items' custom fields (default false).",
"type": "boolean"
}
},
"required": [
"asset_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_search_inventory(search, page)
Search inventory items by name, #<item number> or @<identification number>. GET /search.api (facet VolatileAsset).
入力スキーマ
{
"type": "object",
"properties": {
"search": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Name, #<item number> or @<identification number>."
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"search"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_inventory_history(asset_number, page)
The stock movements (added, sold, transferred) of one inventory item. GET /inventory/<ASSET#>/history.api.
入力スキーマ
{
"type": "object",
"properties": {
"asset_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The inventory item number."
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"asset_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_quantity_by_location(asset_id, location_id)
The stock of an inventory or asset-stock item at one location. GET /locations/get_quantity_by_location.api.
入力スキーマ
{
"type": "object",
"properties": {
"asset_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The item number (Asset#)."
},
"location_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The location id, from ezrentout_list_locations."
}
},
"required": [
"asset_id",
"location_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_asset_stock(include_custom_fields, page)
List asset stock (bulk items tracked by quantity per location, 25 per page). GET /stock_assets.api.
入力スキーマ
{
"type": "object",
"properties": {
"include_custom_fields": {
"description": "Also return the items' custom fields (default false).",
"type": "boolean"
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_asset_stock(asset_number, include_custom_fields)
One asset stock item by number. GET /stock_assets/<AssetStock#>.api.
入力スキーマ
{
"type": "object",
"properties": {
"asset_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The asset stock number."
},
"include_custom_fields": {
"description": "Also return the items' custom fields (default false).",
"type": "boolean"
}
},
"required": [
"asset_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_users(filter, filter_val, page)
The company's users (staff/admins, 25 per page). Filter by email, employee_identification_number or status (filter_val: active, inactive, login, non_login, all). GET /members.api.
入力スキーマ
{
"type": "object",
"properties": {
"filter": {
"description": "Filter name.",
"type": "string",
"enum": [
"email",
"employee_identification_number",
"status"
]
},
"filter_val": {
"description": "The value for the filter.",
"type": "string",
"maxLength": 255
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_user(user_id)
One user by id. GET /members/<USER_ID>.api.
入力スキーマ
{
"type": "object",
"properties": {
"user_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The user id, from ezrentout_list_users."
}
},
"required": [
"user_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_user_checked_out_items(user_id, item_type, page)
The assets currently checked out to one user (a read; the vendor API uses PUT for this lookup). PUT /members/<USER_ID>/checked_out_items.api?page=N with item_type in the form body.
入力スキーマ
{
"type": "object",
"properties": {
"user_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The user id."
},
"item_type": {
"description": "Only this item type, if the account uses one.",
"type": "string",
"maxLength": 50
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"user_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_locations(status, page)
The company's locations (25 per page); status all, active or inactive. GET /locations/get_line_item_locations.api.
入力スキーマ
{
"type": "object",
"properties": {
"status": {
"description": "Default all.",
"type": "string",
"enum": [
"all",
"active",
"inactive"
]
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_location(location_id)
One location by id. GET /locations/<LOCATION#>.api.
入力スキーマ
{
"type": "object",
"properties": {
"location_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The location id."
}
},
"required": [
"location_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_location_quantities(location_id)
The quantity of every asset, asset-stock and inventory item at one location. GET /locations/<LOCATION#>/quantities_by_asset_ids.api.
入力スキーマ
{
"type": "object",
"properties": {
"location_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The location id."
}
},
"required": [
"location_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_groups(page)
The asset groups (categories, 25 per page) with their items. GET /assets/classification_view.api.
入力スキーマ
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_subgroups(group_id)
All subgroups, or those of one group. GET /groups/get_sub_groups.api.
入力スキーマ
{
"type": "object",
"properties": {
"group_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "Only the subgroups of this group."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_bundles(page)
Bundles (items rented together, 25 per page). GET /bundles.api.
入力スキーマ
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_bundle(bundle_id)
One bundle by id, with its items. GET /bundles/<BUNDLE#>.api.
入力スキーマ
{
"type": "object",
"properties": {
"bundle_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The bundle id."
}
},
"required": [
"bundle_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_vendors(page)
The company's vendors/suppliers (25 per page). GET /assets/vendors.api.
入力スキーマ
{
"type": "object",
"properties": {
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_custom_fields
The custom fields defined for items (names and ids). GET /assets/custom_attributes.api.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_purchase_orders
All purchase orders. GET /purchase_orders.api.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_purchase_order(purchase_order_number)
One purchase order with its items. GET /purchase_orders/<PO#>.api.
入力スキーマ
{
"type": "object",
"properties": {
"purchase_order_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The purchase order number (PO#)."
}
},
"required": [
"purchase_order_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_work_orders(filter, task_type, page)
Maintenance work orders (25 per page), optionally by status filter (open, in_progess [sic, as the vendor spells it], review_pending, complete) or by work order type. GET /tasks.api.
入力スキーマ
{
"type": "object",
"properties": {
"filter": {
"description": "A status filter: open, in_progess, review_pending or complete.",
"type": "string",
"maxLength": 50
},
"task_type": {
"description": "A work order type name, from ezrentout_list_work_order_types.",
"type": "string",
"maxLength": 100
},
"page": {
"description": "Page number, 1-based (default 1). Replies include the total number of pages; ask for the next page by adding 1.",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_get_work_order(work_order_number)
One work order by number. GET /tasks/<Work_Order#>.api.
入力スキーマ
{
"type": "object",
"properties": {
"work_order_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The work order number."
}
},
"required": [
"work_order_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_work_order_types
The work order types of the company. GET /task_types.api.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢ezrentout_list_custom_reports
The saved custom reports (id, name, description). GET /reports/list_custom_reports.api.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡ezrentout_create_customer(first_name, last_name, email, phone_number, description, ...)
Create a customer (a person who rents). First and last name are required. Does not create an order. POST /customers.api.
入力スキーマ
{
"type": "object",
"properties": {
"first_name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "First name."
},
"last_name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Last name."
},
"email": {
"description": "Email address.",
"type": "string",
"maxLength": 255
},
"phone_number": {
"description": "Phone number.",
"type": "string",
"maxLength": 50
},
"description": {
"description": "Notes about the customer.",
"type": "string",
"maxLength": 1000
},
"address": {
"description": "Address line 1.",
"type": "string",
"maxLength": 255
},
"city": {
"description": "City.",
"type": "string",
"maxLength": 100
},
"state": {
"description": "State or province.",
"type": "string",
"maxLength": 100
},
"zip_code": {
"description": "Zip or postal code.",
"type": "string",
"maxLength": 20
},
"country": {
"description": "Two-letter country code, e.g. US.",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
}
},
"required": [
"first_name",
"last_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡ezrentout_create_order(customer_id, business_id, description, asset_numbers, expected_checkout_date, ...)
Create a new rental order (a draft until it is booked or rented out) for a customer, optionally with assets and dates. If the customer belongs to several businesses, pass business_id. Does not rent anything out and does not charge. POST /baskets.api.
入力スキーマ
{
"type": "object",
"properties": {
"customer_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The customer or business-contact id, from ezrentout_list_customers."
},
"business_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The business, when the contact is part of several."
},
"description": {
"description": "Order description.",
"type": "string",
"maxLength": 1000
},
"asset_numbers": {
"description": "Assets to add (asset numbers; a bundle as <id>-b).",
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9]{1,18}(-b)?$"
}
},
"expected_checkout_date": {
"type": "string",
"pattern": "^(0[1-9]|1[0-2])\\/(0[1-9]|[12]\\d|3[01])\\/\\d{4}$",
"description": "Expected check-out date (mm/dd/yyyy)."
},
"expected_checkout_time": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Expected check-out time (hh:mm, 24 hours)."
},
"due_date": {
"type": "string",
"pattern": "^(0[1-9]|1[0-2])\\/(0[1-9]|[12]\\d|3[01])\\/\\d{4}$",
"description": "Due (return) date (mm/dd/yyyy)."
}
},
"required": [
"customer_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡ezrentout_add_assets_to_order(order_number, asset_numbers)
Add assets (or bundles as <id>-b) to an existing order. PATCH /baskets/<ORDER#>/update_basket_from_show.api.
入力スキーマ
{
"type": "object",
"properties": {
"order_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The order number (Order#)."
},
"asset_numbers": {
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9]{1,18}(-b)?$"
},
"description": "Asset numbers; a bundle as <bundle id>-b, e.g. 12, 25-b."
}
},
"required": [
"order_number",
"asset_numbers"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴ezrentout_book_order(order_number, from, from_time, to, to_time)
Reserve an order's assets for a period (books the order). EZRentOut may notify the customer according to the account's settings. PATCH /baskets/<ORDER#>/reservation.api.
入力スキーマ
{
"type": "object",
"properties": {
"order_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The order number."
},
"from": {
"type": "string",
"pattern": "^(0[1-9]|1[0-2])\\/(0[1-9]|[12]\\d|3[01])\\/\\d{4}$",
"description": "Reservation start (mm/dd/yyyy)."
},
"from_time": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Start time (hh:mm, 24 hours)."
},
"to": {
"type": "string",
"pattern": "^(0[1-9]|1[0-2])\\/(0[1-9]|[12]\\d|3[01])\\/\\d{4}$",
"description": "Reservation end (mm/dd/yyyy)."
},
"to_time": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "End time (hh:mm, 24 hours)."
}
},
"required": [
"order_number",
"from",
"to"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡ezrentout_add_order_custom_entry(order_number, name, amount, comments, tax_free)
Add a custom line (a named amount, for example a delivery fee) to an order; it raises the order total. Not possible on sold, void, completed or cancelled orders. POST /baskets/<ORDER#>/custom_entries.api.
入力スキーマ
{
"type": "object",
"properties": {
"order_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The order number."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "Name of the charge."
},
"amount": {
"type": "number",
"minimum": -1000000000,
"maximum": 1000000000,
"description": "The amount, in the account's currency."
},
"comments": {
"description": "Comments.",
"type": "string",
"maxLength": 1000
},
"tax_free": {
"description": "true = no tax on this charge.",
"type": "boolean"
}
},
"required": [
"order_number",
"name",
"amount"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡ezrentout_record_order_payment(order_number, amount, payment_method_name)
Record a payment received for an order (a prepayment). It records the amount in EZRentOut; it does not charge a card (credit card payments are not supported by the API). Use a payment_method_name from ezrentout_list_payment_options. PATCH /baskets/<ORDER#>/charge_pre_payment.api.
入力スキーマ
{
"type": "object",
"properties": {
"order_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The order number."
},
"amount": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1000000000,
"description": "The amount received."
},
"payment_method_name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "A payment option name, for example Cash."
}
},
"required": [
"order_number",
"amount",
"payment_method_name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴ezrentout_rent_out_order(order_number, use_current_datetime, rentout_date, rentout_time, return_date, ...)
Check an order out: its assets go to the customer and the rental clock and billing start. EZRentOut may email the customer according to the account's settings. Give rentout_date and return_date, or use_current_datetime. PATCH /baskets/<ORDER#>/checkout.api.
入力スキーマ
{
"type": "object",
"properties": {
"order_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The order number."
},
"use_current_datetime": {
"description": "true = rent out now.",
"type": "boolean"
},
"rentout_date": {
"type": "string",
"pattern": "^(0[1-9]|1[0-2])\\/(0[1-9]|[12]\\d|3[01])\\/\\d{4}$",
"description": "Rent-out date (mm/dd/yyyy)."
},
"rentout_time": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Rent-out time (hh:mm, 24 hours)."
},
"return_date": {
"type": "string",
"pattern": "^(0[1-9]|1[0-2])\\/(0[1-9]|[12]\\d|3[01])\\/\\d{4}$",
"description": "Expected return date (mm/dd/yyyy)."
},
"return_time": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Expected return time (hh:mm, 24 hours)."
}
},
"required": [
"order_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴ezrentout_return_order(order_number, use_current_datetime, return_date, return_time)
Check an order in: the customer returned the assets, rental billing ends and the assets become available again. Give return_date (and return_time), or use_current_datetime to return now. Returns the whole order (no partial returns, late fees or payment here; use ezrentout_record_order_payment). EZRentOut may email the customer according to the account's settings. PATCH /baskets/<ORDER#>/checkin.api.
入力スキーマ
{
"type": "object",
"properties": {
"order_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The order number."
},
"use_current_datetime": {
"description": "true = return now.",
"type": "boolean"
},
"return_date": {
"type": "string",
"pattern": "^(0[1-9]|1[0-2])\\/(0[1-9]|[12]\\d|3[01])\\/\\d{4}$",
"description": "Return date (mm/dd/yyyy)."
},
"return_time": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "Return time (hh:mm, 24 hours)."
}
},
"required": [
"order_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡ezrentout_add_asset_comment(asset_number, content, created_by_id)
Add a comment to an asset, asset stock or inventory item. POST /assets/<ASSET#>/comments.api.
入力スキーマ
{
"type": "object",
"properties": {
"asset_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The item number (Asset#)."
},
"content": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "The comment text."
},
"created_by_id": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The user the comment is attributed to."
}
},
"required": [
"asset_number",
"content"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡ezrentout_create_work_order(title, task_type, due_date, description, priority, ...)
Create a work order with a title, type and due date, optionally for assets. By default the linked assets are marked unavailable (mark_items_unavailable). POST /tasks.api.
入力スキーマ
{
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 255,
"description": "The summary."
},
"task_type": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The work order type name, from ezrentout_list_work_order_types."
},
"due_date": {
"type": "string",
"pattern": "^(0[1-9]|1[0-2])\\/(0[1-9]|[12]\\d|3[01])\\/\\d{4}$",
"description": "Due date (mm/dd/yyyy)."
},
"description": {
"description": "Description.",
"type": "string",
"maxLength": 5000
},
"priority": {
"description": "Priority.",
"type": "string",
"enum": [
"high",
"medium",
"low"
]
},
"asset_numbers": {
"description": "Assets the work order is for.",
"maxItems": 100,
"type": "array",
"items": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "An asset number."
}
},
"mark_items_unavailable": {
"description": "Default true in EZRentOut: the assets cannot be rented while the work order is open.",
"type": "boolean"
}
},
"required": [
"title",
"task_type",
"due_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴ezrentout_start_work_order(work_order_number)
Mark a work order in progress. PATCH /tasks/<Work_Order#>/mark_in_progress.api.
入力スキーマ
{
"type": "object",
"properties": {
"work_order_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The work order number."
}
},
"required": [
"work_order_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴ezrentout_complete_work_order(work_order_number)
Mark a work order complete; its assets may become available again. PATCH /tasks/<Work_Order#>/mark_complete.api.
入力スキーマ
{
"type": "object",
"properties": {
"work_order_number": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
{
"type": "string",
"pattern": "^[0-9]{1,18}$"
}
],
"description": "The work order number."
}
},
"required": [
"work_order_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}コミュニティ
エビデンス